What is Open Source Programming?
Open Source Programming simply means writing codes that other people can freely use as well as modify. It is essential for authors to license their code, it enables them to have a copyright for those codes. Therefore, for a code to be declared safe and free for all to use, whether it’s available in the Github or in a public-repo; the author is required to license their own code. This is to avoid cases of individuals being sued by the author for using, modifying or even embedding the code without being granted a license to do that.
How to choose the right License?
Before choosing the right license for your code, you have to first write a new program which you’ll want people to have rights for in the “open-source” in-order to use it.; Here are the major steps to follow;
Step 1: Decide on which license that will fit your needs best. Here is the difference between various open-source software licenses.
Step 2; Go to GitHub-curated site, choosealicense.com. Just as its name suggests, choose a license that best suits you on this site. It will provide you with some few simple quizzes that need to be answered. Here you’ll be able to find the right license for your project.
How to apply for the license?
After choosing a license, you are then required to apply it. If you’re publishing your project on open-source sites such as Github, GutLab, and BitBucket; you’ll have a folder structure for the project’s file. In your project’s root folder, a plain text file is required called LICENSE.txt. It contains the text of the selected license.
The next step involves; putting a comment to declare your license in the header of each file in the project. The comment should state “# this work (c)2018 my name, licensed GPLv3—see https://www.gnu.org/licenses/gpl-3.0.en.html.
For individuals who are self-publishing their code on their own site, you’ll just follow the same process.
Things to avoid while applying for License
- Don’t be over fancy or self-important with your license. Choose a commonly used and known license such as the Apache license or even the GPLv3. People find it easy to understand what their rights, as well as your rights, entails without involving a professional-lawyer to elaborate.
- Don’t write your own license. Making a license by yourself creates a source of confusion for people. If in-case you must have special terms written by you that are not available in any existing license then it is advisable to write them as an addendum. Keep the main license as well as your addendum separately to enable people to know which specific parts they need to be extra careful with or about.
What to note when writing open source?
It is essential to note that you are not only writing just for yourself but to others too. When writing an open-source code, it is important to have the community interest at heart. Projects which involve community tend to survive longer. Often, they are adopted more heavily than projects that don’t. Therefore, it would be good to embrace and action plan for the intended community that you plan to build your project around.
Share your project’s idea on platforms such as on Twitter, Reddit or rather mailing lists that are relevant to the scope of your project. Make an announcement of a plan to create a new project. Getting the community involves enable you to get suggestions that might help you to improve yourself or avoid pitfalls that might have occurred later. Develop your project based on the suggested ideas so that it can be adopted as well as used by other people.
After successfully opening accounts for open-source projects at GitLab, GitHub or BitBuckets which are always free, use it to create a README, push code and assign a LICENSE while you develop your project. It will drive you to work with real-team and as you get used to writing your code, as you continue you are more likely to start generating interest to help improve on your project.
Treat open tickets send by users seriously and courteously. Treat them in a professional manner thus they will help guide you to focus more on realizing the big idea.