-
It is important to choose a license for a number of reasons, but they all involve protecting your code's status as open source software. If a project is created and does not utilize a license, this opens the door for anyone to come in and contribute to the project, and then claim their work as their own and exercise their copyright over the code they produced. As such, it is important to choose a license so that project creators can determine how people are allowed to use, modify, and share code. For example, with copyleft licenses, this is done by using a license that simultaneously ensures that the software is free and that the same license must apply to any modifications of the code, thus ensuring that any derivatives of the code remains free.
-
It is important not to work on a project that doesn't have an explicit license because, technically, you have no permission to modify or distribute the code. When a project does not have a license, the creators of the project have an exclusive copyright on the contents of the project, which they can choose to exercise at any time. As such, if a project does not have a license, you can request that the project creators include a license, but otherwise it is not a good idea to contribute to the project because you could be in violation of copyright.
-
I do agree with the claim that the Gopher team failed to follow the open system model because they failed to allow the public to contribute to their codebase early and often. One of the big sells of open source software is that development efficiency can be improved by permitting users to contribute suggestions and changes to a product early on in its development. Instead, the Gopher team spent too many resources trying to decide exactly what they wanted for the project, and in doing so failed to allow it to flourish properly.
-
For the .NET core, Microsoft decided to use the MIT license because they simply wanted to distribute the software in a simple and permissive manner, in order to "build and leverage a stronger ecosystem" in the form of the open source community. The MIT license allowed them to easily do this in a way that allowed the community to simply understand the license and their rights, in order to encourage as many contributions as possible.
-
For our group, we decided that it would probably be best to go with the MIT license for our project, because it is an easy to understand license that allows us to permissively make our code available for modification and distribution.
-
The GPL, LGPL, and Apache licenses are all preferable to use in certain situations over others. For example, the best license for a developer to use is likely the Apache license. This very permissive license allows people to do what they wish with the code, as long as they give the required notices; it even allows them to sublicense the code. The best license for a company, however, is likely the LGPL license. This license gives a great deal of control over ensuring that derivative works are covered under the same license as the original code. However, it allows other programs that use, but not modify the code, to use their own license. This is great for a company because it allows a good amount of control over derivative works, but is not so restrictive that developers lose interest in utilizing the code. Lastly, the GPL license is likely best for the common good, as it best protects the tenets of free software.
-
Link to licensed repository: https://github.com/didioj/Licensed-Repository
-
For a project idea for this course, our group discussed possibly creating a browser extension. It is possible that we would make this browswer extension to interfact with some sort of video or streaming service. As such, our users would be the general public, as a lot of the community uses these services. This is the case especially for YouTube, but if we made an extension for Twitch or Mixer, our audience might be tailored more towards gamers. As such, an appropriate license to choose would be the MIT license, as we don't wish to uphold the tenets of free software or anything, but wish to provide a simple platform for people to use our code however they wish.
Website | License Present | License |
---|---|---|
https://github.com/cam626/rpeye | Yes | MIT License https://en.wikipedia.org/wiki/MIT_License |
https://github.com/Second-String/SecondString_old | Yes | MIT License https://en.wikipedia.org/wiki/MIT_License |
https://github.com/V2grad/Organizer | Yes | MIT License https://en.wikipedia.org/wiki/MIT_License |
https://github.com/zdward/GroupRideiOS | Yes | MIT License https://en.wikipedia.org/wiki/MIT_License |
https://github.com/rushmeteam/rushmeios | Yes | MIT License https://en.wikipedia.org/wiki/MIT_License |