基本上,我是Python网络编程的新手,所以我在线上学习了教程。使用教程中讲授的内容(创建套接字,连接端口等),我修改了代码,以便编写了一个程序,两台计算机可以相互发送消息。
如果我要申请工作并将其展示给我的面试官,从技术上讲,该代码是否属于我?可以说,我没有那么多地修改代码。但是,例如,如果我将其修改为类似井字游戏的样子,该游戏中两个用户在不同的PC上相互玩耍,那么代码是我的吗?我只是不想看起来像a窃者,所以我为什么要问。
基本上,我是Python网络编程的新手,所以我在线上学习了教程。使用教程中讲授的内容(创建套接字,连接端口等),我修改了代码,以便编写了一个程序,两台计算机可以相互发送消息。
如果我要申请工作并将其展示给我的面试官,从技术上讲,该代码是否属于我?可以说,我没有那么多地修改代码。但是,例如,如果我将其修改为类似井字游戏的样子,该游戏中两个用户在不同的PC上相互玩耍,那么代码是我的吗?我只是不想看起来像a窃者,所以我为什么要问。
Answers:
如果您所做的是修改某人的代码以执行您想要的操作,那么断言您的代码是“您的”是不诚实的。而是基于现有代码创建的程序。
现在您可能已经注意到,许多程序员都在使用其他人的代码。每时每刻。库和API本质上是使用他人在您自己的项目中创建的代码的一种形式化方法。尽管您所做的与使用库或API有所不同,但效果相同。
对于简单的P2P程序,您可以声称自己编写了一个消息传递应用程序,该应用程序利用了另一个程序员对简单Web协议的实现。您可以继续调用它作为您的程序,只要写了借来的部分,就应该归功于谁。并且最好将引用源的注释添加到代码中,以便其他人可以在需要时找到它。
就游戏而言,您编写了一个游戏。您可以将其声明为您的代码。然后,该游戏将利用您从其他来源获得的一组功能来启用多人游戏功能。同样,您可能应该至少在代码的注释中找到该代码的源。但是,在这种情况下,您可能会避免不像在编写游戏中那样将代码明确地告诉其他人。
许多开发人员依靠库来解决他们面临的一些更复杂的问题。人们经常使用诸如网络协议,图形和高级数学之类的东西,因此有些库可以很好地处理所有这些事情。使用这种代码不仅是完全可以接受的,而且是正常的。
如果您说“这是IM客户端”或“这是视频游戏”,则如果网络代码来自第三方,则不会感到惊讶。只是不要声称您是代码所有部分的唯一作者,所以您应该没事。
但是,您应该考虑另一种可能性:所讨论的代码是否受到任何使用条款的保护?至此,我一直在谈论无条件或开放术语的代码。但是,如果作者有一些更具体的术语,请遵循它们。如果他们只是将代码用于教育目的,那么以超出此范围的任何方式使用它都是不可行的。它们可能对该代码施加各种限制,因此请谨慎使用。