Something that might have never crossed the minds of most open-source developers at some point in their careers is the need to license their work. The project that you have been developing is finally ready to be published and shared with the community. All you have to do is post it on a repository (e.g., Github, Hackaday, Gitlab, etc), and, once available, anyone can freely download and modify the project to their liking, because it’s open-source work, right? Well, unfortunately, legal restrictions prevent any unauthorized user from modifying or reproducing the project you have created, unless you have posted a license to use the project in the repository. Without a license that specifies the scope of what can be and what cannot be done with whatever creative work has been shared, the standard copyright laws (Title 17, Chapter 1, section 106 of the copyright law) dictate restrictions and rights. This law states that any modification or sharing of any publicly available creative work, whether it be hardware (e.g., 3D prints) or software (e.g., code blocks) is subject to previous authorization from the author(s). In other words, any potential user of the design or code would need to reach out to the developer for explicit permission.
Repository sites make it easy to share projects with the community, and they also make it easy to include a license. GitHub, for example, provides authors with a dropdown list of available licenses to add when creating a repository. Even if the project has been already uploaded without a license, licenses can be added later to make the project fully open-source. It is the sole responsibility of the developer to create a new commit on an existing creative work, given the nature of the default copyright laws.
These issues became apparent in our project as we collected and validated designs for 3D-printed objects used in neuroscience research. Along the way, we discovered that several posted designs did not include licenses, and that if we fork the projects into our GitHub repository, then we cannot add a license to the project. As a result, we have had several projects on hold for inclusion in our collections, and will be reaching out to developers this summer to ask them to add licenses to their projects so the designs are fully open-source.
An in-depth discussion of these issues can be found here.
Examples of licenses and a short tutorial on how to add them to your work (on GitHub) can be found here.
If you are interested in the nitty-gritty of what the default copyrights law means, you might check out this website.
Image credit: https://www.reddit.com/r/ProgrammerHumor/comments/xnm80m/gpl_vs_mit/