Blog Post 11-Copyright and Open Source Software

In Article 1, Section 8, Clause 8 of the United States Constitution, a copyright is defined as “the exclusive Right to their (Authors and Inventors) respective Writings and Discoveries…for limited Times.” In terms of copyright we are concerned with rights to authors for writings (while patents are rights to inventors for discoveries). The idea of copyright v.s. patent in terms of software is a little confusing, do we consider programmers “Authors” who make “Writings” or “Inventors” who make “Discoveries.” In fact, it is a little bit of both. U.S. Copyright law considers computer programs as “literary works” and thus can be granted copyrights. However, this provides limited protection. Copyright protects an expression of an idea, but not the idea itself. Essentially you would be preventing literal copying of source code, but not necessarily rewriting the code slightly differently to achieve the same end. If you want to actually protect the “idea” behind a program, so somebody couldn’t get away with just rewriting your code, a patent would be a better option. The line between these two is especially murky in software, and the law is being applied differently every day. Ethically copyrights are given to protect original, creative works from being copied and distributed, leaving the original author without just compensation. Economic reasons are making sure that these content creators receive the monetary compensation they deserve. In terms of society as a whole, copyrights make sure that content creators continue to create. There would be no reason to create original work if it could just be copied.

I wouldn’t call open source software “inherently better” than proprietary software. Open source works for some projects, while it doesn’t work for others. There are pros and cons to each. Some projects may lead to licensing issues if open source, you may have nobody on your team with open source experience, or you do not want to push software to undesired users. There are also positives for some projects, like less cost, more flexibility, and not getting locked into a single vendor. However, the main issue is the fact that anybody can look at and potentially change your source code. This can be a positive or negative. The positive is that you have more eyes on your source code, so there’s a much better chance of potential bugs being noticed and fixed. The other side of the coin is that these eyes might decide to exploit a bug instead of fix it. Many people claim that issues like HeartBleed and ShellShock could have been exploited by those who noticed them in the source code. Instead of fixing these issues, they were used for the user’s own end. Thus open source may not better. It essentially comes down to whether or not we trust our programming community. Do we trust them to fix or exploit bugs? I believe that, while there are these exceptions, the community as a whole will fix open source software rather than exploit it.

While the idea between open source and free software is very similar, the key difference is that free software puts more of an emphasis on always being able to modify and redistribute the code. A key idea of free software is maintaining copyleft, meaning that you only will distribute your software freely if anything derived by it can be distributed freely. This idea is not as important in open source. I would consider GPL more free then BSD, as it requires copyleft. I prefer GPL, as I think it is important to make sure that further works from your free software remain free. I also believe that governments and pubic organizations should pushed to adopt open source more than private companies. Since these projects are being funded by the community, there is a responsibility to leave the projects open to the community. In terms of using open source software, there is a responsibility you take on by using the software. The price of using the software is that you should attempt to fix it if you are able. Maybe this doesn’t mean spending your whole life devoted to the project, but if you notice a bug see if you can fix it or at least notify somebody who can.

 

Leave a comment