进行了这些修改之后,下一步该怎么做?保持许可证信息不可更改或尝试使用@author或@revision标签之类的内容来更新它,包括您自己?
我认为您会混淆软件许可和可能是软件一部分的任何序言。
许可证是程序版权的所有者指定其他人的使用条款(许可证)的地方。有些许可证是非常宽松的,而另一些则更为严格。
在序言中,作者可以插入@author
和@revision
标记,以提供一种跟踪源代码更改的方法。在某些情况下,成为该代码的重要补充的作者可能会使您要求保护该代码部分的版权。解开版权问题可能很棘手,最好由律师处理。但是,您明确表示您不关心该方面,因此我继续。
另一个常见的问题是更改第3方名称空间/程序包以使其适合您的项目约定。某些许可证类型在其许可证栏中包含此类信息,我可以自由更改吗?
这实际上取决于项目的约定。
如果您分叉项目,则可以做任何您想做的事情。
如果您打算将所做的更改贡献回项目,则应遵循已建立的约定。如果迫切需要更改名称空间,则需要将其提交给应用程序社区。
考虑一般许可规则(通常它们在次要方面是不同的,对吧?),
在道德上(或至少允许)我自由地向许可证块添加有关我的修改的信息,或者还修改我在代码中如何引用它(例如,使用YACorp.YALib作为Utils.YALib)?
不要更改许可证!
首先,您可能没有更改许可证的合法权利。其次,您所做的任何更改都可能会使许可证混乱。将许可证更改留给律师。
至于更新序言,这取决于项目规范。一些项目不需要序幕,因为它们使用源代码管理来跟踪。其他项目也可以。请遵守项目的约定。
实际上,我的关注点更多是在“尊重社区”方面,而不是法律方面,我问的更多的是,如果我们的项目可以视为私人或个人项目,我们可以“狂奔”多少道德?
如果您要保留自己的更改,为什么还要关心别人的想法?您只为自己使用而从未分发给他人的东西不会对原始项目造成影响。所以他们不在乎你做什么。
如果计划分发更改或将更改重新贡献给项目,则需要评估该项目的约定。一些项目不希望被分叉,并且会拥有相应的许可证来防止这种情况。其他人甚至说“做你想做的事”,你就会得到全权委托。最终,这里的答案取决于您要查看的特定项目。