本文首发于微信公众号“云端数据IP法律观察”(ID:YDdatalaw)
什么是开源?
如果企业需要开发一款软件产品(如App)应该怎么办?
是程序员们从零开始一行一行的编写代码吗?这听起来似乎不现实。
大部分企业在开发软件时,通常会选择对他人已经编译好的代码进行修改,最后形成自己的软件产品。
但是编写代码和写文章一样,都是创作的过程,所以程序员所编写的代码和文章一样,都属于《著作权法》中的作品,享有著作权。
也就是说,企业如果在没有经得作者本人同意的情况下,擅自使用他人的代码来开发自己的软件产品则会构成著作权侵权。
而开源即是作者将代码公开,并且通过开源许可协议的形式许可其他人使用、复制、修改代码。
因此企业就可以在接受开源许可协议的情况下使用开源的代码开发软件产品。
例如在支付宝中就使用了多达40款不同的开源软件。同时在下图的许可证一栏我们也能够看到,支付宝在开发过程中接受了多种不同的开源许可协议。
开源许可协议有哪些类型?
开源许可协议是涉及各种版权、商标、专利等权利义务的格式协议。
每一个开源软件发布后,通常都会在readme等文件中附上开源许可协议。
在企业使用开源软件进行软件开发时,附带在开源软件中的开源协议即自动生效。
常用的开源许可协议包括:GPL、BSD、MIT、MPL、Apache、LGPL等。
每个开源协议对权利义务的约定各不相同,既有BSD、MIT这种对被许可人限制较少的开源协议,也有GPL这种对被许可