-
Read the four criteria for Free Software.
-
Why is it important to choose a license?
It is important to choose a license, because a license determines the development of that project or code.
Other programmers should avoid editing nonlicensed code, which takes away the value of open source. Getting a
license allows othe smart people to improve existing code, without the threat of litigation. Additionally, choosing
the right license is important becasue that affects how the code is distributed and used after changes are made. The
original developer has the right to choose which kind of license they want, becasue it affects the development.
- Why is it important that you shouldn't use a project that doesn't have an explicit license?
It is important to not use an unlicensed project, because that project is proprietary to the original developer.
Changing an unlicensed project and distributing it, violates their ownership, and could lead to legal problems or
litigation.
- Do you agree with the Failure to follow the Open System Model Section of Why the Web beat Gopher?
I do agree with the article. The Web beat Gopher because of ease of use and access, and what the author calls
"mind share". Gopher does not support hypertexts, and without this feature, the Web becomes much more useful.
Also, the Web has a high "mind share"; essentially, a better brand name. It captured more mind share earlier in
the development process, and then gained more momentum as improvements were made.
- Justify why one of the licenses were chosen. - Linux GPL v2
The original developer of Linux, Linus Torvalds, was motivated to develop a new operating system, by a sub-par
operating system, MINIX, which was only allowed to be used for educational purposes. During the development of
Linux, GNU applications replaced MINIX components, because it was easier to use the available code, licensed
under GPL. Torvalds then switched from the original license to GPL to utilize the GNU applications. He was
forced to license Linux under GPL in order to use the GNU applications, but the GPL also aligns with his original
frustration with the limitation of MINIX.
- Think of an example project. Pick a license using the LICENESE choose by Github.
Example project - Mailpile
Current license - GNU GPL, so any changes or modifications made must also be under a GPL.
- Read these licenses GPL, LGPL and Apache/BSD and discuss which one will be better - for a developer, for a company
and for the common good - write 5 to 10 sentences.
For a developer, it depends what their ultimate goal is. If he/she wants to make money off of this, they may want to
choose Apache/BSD, because they are able to sublicense, if major changes are made that they want to keep proprietary.
On the other hand, if the developer wants to promote open source for the most amount of people and isn't interested
in making a profit, they could choose GPL or LGPL. A company most likely would want to use the Apache/BSD license,
for the same reasons a developer would. In some cases, like if the company were non-profit or a charity, they could
choose GPL or LGPL. The GPL is probably the best license for the common good, because it forces the development of
code and projects to also be GPL. This allows for the most freedom for collaboration and making changes and
improvments.
- Create a repository and choose a license.
https://github.com/garoller/csci2963-project
-
Write five sentences about choosing a project to work on in this course, who will be users/customers of
the project, and what license will you choose.
Mailpile seems like an interesting project. I would like to learn more about cyber security, and this project
would be a good introduction. Building an feature that could be implemented into the larger system would be fun
and a great learning oppourtunity. It is still in the development stages, but ultimately the users would be people
that use email. The project is licensed under a GPL, so any work I would do, would also have to be under a GPL.
- Project table:
This work is licensed under a Creative Commons Attribution 4.0 International License.