我在一个学区工作。每年我们都必须从学生管理系统中导出一份学生名单,并将其发送给处理我们在线考试的公司。

所以为了做这个输出,我们必须雇佣一个了解我们学生管理系统内部运作的人。他写了一个sql (Adaptive Sybase sql Anywhere)查询,将学生导出到我们需要的csv文件。这是在我开始为学区工作之前,所以有一段时间我以为这是一个真正的应用程序,直到轮到我自己做导出的时候。

每年他都会向我们收取500美元来更新这个查询以导出当年的学生。所以当我发现它只是一个查询(.bat文件和.sql文件)时,我的想法是“我可以自己更新”。我所要做的就是改变查询中的年份(例如。2009 - 2010)。

查询(。SQL文件)本身在顶部有这样的注释:

// This code was writtend by [the guy]
// and is the property of [his company]...Copyright 2005,2006,2008,2009
// This code MAY NOT BE USED without the expressed written consent of 
// [his company].

(是的,上面确实写着“writtend”。)

所以现在我老板担心我们侵犯了版权。那家伙会发现是我自己更新了查询因为我们今年还没有要求他更新并采取法律行动。

回到刚才的问题: 他真的能获得这个问题的版权吗? 如果是的话,我们自己修改是不是侵犯了版权? 在我看来,单个查询不是程序代码。它更像是一个命令行命令。但我不知道这在法律上是怎么考虑的。


当前回答

我记得读过一本关于谈判的书。作者描绘了一个场景,一个小组每年租一个大厅开会。协调人发出邀请,大厅的主人决定大幅提高租金。作者建议你向大厅的主人解释,他们可以A:按照他们的要求提高租金,失去未来的生意;或者B:把租金降低到合理的水平,保持他们的生意。

程序员认为他们对你的公司有某种约束,在某种程度上,他/她有理由这样做。贵公司一直在付给他/她薪水。向他们解释,程序员可以用参数化查询“免费”解决问题,否则就会永远失去公司的业务。你的公司有一些影响力,利用它。

其他回答

我建议你提出一个不同的问题:鉴于我们的学生管理系统的这个和那个表结构,SO社区会提出什么SQL查询来导出任何给定年份的学生列表?

这将使你最初的问题变得有趣,但与你手头的任务相关,因为你将有一个社区提供的解决方案,可能会越来越高性能,更容易维护:)

似乎没有人意识到版权与复制有关。如果OP既不是复制也不是分发,版权在这种情况下似乎并不适用。

即,未经许可,学院不得出版或作为自己的作品出售(可能)。在这种情况下你最好咨询一下你的律师。

在任何情况下,OP都同意运行运行特定文件中某些sql的程序。我假设OP没有绕过程序员设置的任何反篡改控制。

sql是程序的一部分(尽管是雇佣的工作),只是文件中的文本。现在,在没有得到程序员明确同意的情况下修改与程序相关的任何/所有文件可能会使任何保证失效,但事实就是这样。

就给你500块,没人会起诉你。你知道请律师要花多少钱吗?但如果您取消了原程序员的任何支持,也不要感到惊讶。警告一下。

话说回来,如果这家伙为了500美元只做了2分钟的改变,那就有点鲁莽了。但你确定他只是在做这个吗?500美元半天的工作,正常的咨询收费费率是不现实的。

让开发人员在此人运行查询时打开SQL分析器(假设您使用的是SQL Server)。捕获查询并将其用作自己的查询。

仅仅因为您在查询中抛出了一个声明版权的注释(可能不会传递给SQL)并不意味着它就是版权。如果您拥有数据库和其中的数据,那么您就有权审查进入数据库的每个查询。记住,除了其他人不是律师之外,我们假设你也不是律师,你很容易在这个问题上装傻。我会让位置成为法律的9/10,抓住问题,如果这个人想起诉,告诉他让你开心。

这里的另一个关键元素是没有意图重新分发这个家伙的代码。你是在为你自己的内部使用制作一个衍生作品。

只要解释你的表和字段的结构和问题,如果这只是查询的问题,这里的许多人都很聪明和慷慨,可以免费做这件事…

你从没说过你在哪,所以我们给你的任何建议都没用。不同的司法管辖区有不同的法律。

如果你在美国,打电话给你当地的律师协会,要求推荐一个从事软件版权工作的人,相信那个人告诉你的,而不是你在SO上读到的任何东西。如果你在另一个国家,找出相应的。

作为一名美国公民,而不是任何类型的律师,有几件事需要考虑。

你从没告诉过我们这个问题有多复杂。我们不可能为某些内容的唯一合理实现获得版权。如果它很简单,那就用简单的方式重写。如果它很复杂,则查询可能不是严格意义上的功能性查询,并且其中无疑存在一些创造性。在这种情况下,你应该用一种不同的方式重写它,或者雇一个人。

您应该能够找到比继续支付500美元/年更便宜的人来重写查询,并且应该不难找到比原始开发人员更有道德的人。