为什么要写这个?
我之所以写这个话题,是因为最近我看到有些人在他们的项目中使用我的代码而没有保留版权声明(我真的不想在本文中怪任何人)。
他们使用我的代码并不是真正的问题,我喜欢鼓舞其他人根据我的一些概念和想法做一些很棒的事情,并且很高兴能为您提供代码帮助。因此,每个人都可以自由使用我的代码,但是根据给定的许可条款,现在是重要的部分。您也可以说“credit where credits needed”。在软件环境中开源并不意味着您可以复制漂亮的东西并将其粘贴到您的项目中,并告诉所有人您做得很好。那不是它的工作方式,因为原始作者会生气,而当作者感到生气时,他很可能不再发布出色的开源软件,或者至少他不会发布。可以这样考虑:我使用了另一位开发人员的出色代码,这位开发人员投入了大量时间来编写这段出色的代码,至少我可以赞扬编码人员,以展示自己的才能。感谢。我也在写它,是因为我经常看到它,没人在乎许可证。
本文应该是有关软件获得许可并要使用它时的确切摘要。我挑选了最常见的OS(开源)许可证,因为那里有很多许可证,请随时查看所有许可证。您下次可以将本文用作指导;-)我对完整性不承担任何责任,如果您认为我忘记了什么,请告诉我!
GPL许可证
- 保留许可标头(licensing header)
- 您的软件版本也必须用GPL许可
- 原始作者有权根据不同或多个许可证进行许可,但是您没有
- 如果有人要求,您必须提供源
MIT 许可证
- 保留所有副本的版权声明
- 您可以自由修改,再分发甚至再用其他许可证许可代码
- 原作者不对代码造成的任何损失负责
BSD许可证
- 您可以自由使用,重新分发和根据其他许可证许可代码
- 只要您保留版权声明
- 您不必发布新代码
LGPL许可证
- 您可以自由使用和修改LGPL发布的软件
- 只要您保留版权声明
- 当您仅将LGPL许可软件用作外部库时,无需根据LGPL许可。否则,您必须用LGPL许可。
- 您必须随软件版本一起提供LGPL许可软件的来源。
Apache 2.0许可证
- 保留版权声明
- 您的软件必须包含Apache 2许可证的副本
- 您可以自由使用,修改,分发和再分发软件
- 如果您修改代码,则必须特别提及您的修改
- 如果有一个名为NOTICE的文本文件:请阅读!它包含有关许可证的特定部分和软件用途的更多信息。
- NOTICE文件也必须包含在您的软件版本中
本质
因此,您可能已经注意到开源许可证共享至少一个点,那就是“保留版权声明”。如果您是一名业余软件开发人员,而只是对授权不屑一顾,那是您可以做的最少的事情。总而言之,本文传达的信息是:
不要窃取出色的代码。遵守规则。“代码创建者”将对此表示赞赏。
为了使列表更加完整,我可能会在列表中添加更多开放源代码软件许可证,如果您想做出贡献,请发表评论或给我发消息!
译者注:更多参考1: https://ghinda.com/blog/opensource/2020/open-source-licenses-apache-mit-bsd.html
2:https://softwareengineering.stackexchange.com/questions/220068/file-with-apache-2-0-and-my-modifications
原文:https://www.patrick-wied.at/blog/how-to-correctly-use-code-you-didnt-write