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

所以为了做这个输出,我们必须雇佣一个了解我们学生管理系统内部运作的人。他写了一个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”。)

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

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


当前回答

我也不是律师,但是…

我猜你已经获得了使用查询的许可,因为你支付了他的使用费用。

// 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].

但措辞并没有说要“改变”它……:)

其他回答

定义一个新的视图使用原始查询作为基础,而不指定日期参数。

create or replace view MY_VIEW as
 select STUDENT_NAME, STUDENT_NO, CLASS_YEAR
   from STUDENT_TABLE
  where STUDENT_CLASS = 10

写一个新的查询从视图中选择应用日期参数,例如。

set DATE_PARM = '2009';
select STUDENT_NAME, STUDENT_NO, CLASS_YEAR
  from MY_VIEW
 where CLASS_YEAR = %DATE_PARM

把2009年改成2010年要500美元?哦,伙计,真是个骗局。

今年付给他500美元,并告诉他你想让查询以学年为参数。看看他知道这将是他最后一次为你工作时作何反应。

和往常一样,如果你真的担心,那就去找律师。我们开发人员。

如果我看到类似的东西,并且查询不是太复杂,我会自己重写它(可能严格地使用他的查询来找出数据库模式,但仅此而已)。

在这一点上,你会更新你的工作……不是别人的。

至于他的问题……如果在创作时没有签订合同,我认为执行版权就有点不可靠了。

如果编写程序的开发人员对自己的产品有信心,他可能会在没有这些限制的情况下发布它,并让他的工作接受同行的审查。二流开发者可能会高估自己的作品,并撰写这样的版权声明。

他说你可以得到书面许可。你为什么不写信告诉他你在修改他的代码而不是问他呢?证明你的行为,看看他是否会挑战你。

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

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

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

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

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

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