Programing

누군가 SQL 쿼리를 저작권으로 보호 할 수 있습니까?

lottogame 2020. 5. 1. 07:57
반응형

누군가 SQL 쿼리를 저작권으로 보호 할 수 있습니까? [닫은]


나는 학군에서 일합니다. 매년 우리는 학생 관리 시스템에서 학생 목록을 내보내고 온라인 시험을 처리하는 회사로 보내야합니다.

이 수출을 위해서는 학생 관리 시스템의 내부 작업을 알고있는 사람을 고용해야했습니다. 그는 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].

(예, 실제로 "쓰기"라고 표시됩니다.)

이제 상사는 우리가 저작권을 침해하고 있다고 걱정하고 있습니다. 그리고 그 사람은 우리가 올해 업데이트를 요청하고 법적 조치를 취하지 않았기 때문에 내가 직접 쿼리를 업데이트했음을 알게 될 것입니다.

주제의 질문으로 돌아가서 : 그는이 질의에 대한 저작권을 실제로 가질 수 있는가? 그렇다면 저작권을 침해하는 것입니까? 내 생각에 단일 쿼리는 프로그램 코드가 아닙니다. 더 명령 줄 명령입니다. 그러나 나는 그것이 법적으로 무엇을 고려하는지 모른다.


내가 당신이라면 모든 테이블, 필드 이름 등을 포함하여 쿼리가 수행해야 할 작업에 대한 자세한 설명을 작성하고 여기에 게시합니다. 여기있는 누군가는 개발자에게 저작권이없는 새 버전의 쿼리를 작성할 수 있어야하며 매년 콘텐츠를 편집 할 수 있습니다.


2009 년에서 2010 년까지 500 달러를 청구합니까? 오 찢어

올해는 그에게 $ 500를 지불하고 그에 따라 쿼리가 학년도를 매개 변수로 사용하길 원한다고 말합니다. 이것이 당신을 위해 마지막으로 일할 것이라는 것을 알기 위해 그가 어떻게 반응하는지보십시오.


첫째, 표준 면책 조항 : 저는 변호사가 아니므로 법적인 조언으로 말하는 것을 취하지 마십시오.

아래에서 말하는 것은 미국의 법률에 관한 것입니다. 다른 국가에서는 베른 협약 덕분에 저작권법이 여러 국가에서 상당히 균일합니다.

저작권은 창의적, 저작물을 포함 할 수 있으며, SQL 쿼리가 해당 범위 내에 속한다고 말할 수 있습니다.

동시에, 학교와의 계약이 매우 이상하게 쓰여지지 않는 한, 그는 그들을 위해 고용 작업으로 이것을 썼습니다. 이 경우 저작권에 대한 그의 주장은 아마도 허위 일 것입니다. 저작물이 저작물로 쓰여질 때 저자가 아닌 고용인이 저작권을 소유합니다.

고용을 위해 일한 것이 무엇인지에 대한 논란이있는 것 같습니다. 미국 법에 따르면 (17 USC, §101) :

 “임직을위한 노력”은 —

  (1) 직원의 고용 범위 내에서 직원이 준비한 작업;

  또는

  (2) 특별 주문 또는 의뢰에 사용하기 위해 위임 된 저작물
  영화 또는 기타 시청각 작품의 일부인 집단 작업,
  번역으로, 보충 작업으로, 편집으로,
  교육용 텍스트, 시험, 시험에 대한 답변 자료 또는
  당사자가 서명 한 서면 문서에 명시 적으로 동의하는 경우 아틀라스
  작업은 고용을위한 작업으로 간주된다.

이 질문은 '(1)'의 범위에 속하는 것으로 보이므로, 그 효과에 대한 명시 적 동의 없이도 고용 된 작업으로 인정받을 수 있습니다. 가능한 예외는 그의 고용의 범위에 속하는에서 쿼리를 작성 제외 있도록 그의 계약이 작성된 경우 일 것이다.

실제로 의문의 여지가있는 유일한 부분은 그가 직원 자격을 갖추 었는지 여부입니다. 컨설턴트의 경우 대답하기 어려운 질문이 될 수 있습니다. 기본적으로 그가 완전히 독립적으로 일하고 최종 결과를 제공한다면 아마도 그렇지 않을 것입니다. 그가 평범한 직원처럼 일하고 일정과 같은 것들을 통제한다면, 그는 임시 직원으로 자격을 얻을 가능성이 매우 높습니다.


예, SQL 쿼리는 저작권으로 보호 할 수 있습니다.

The question you really need to be asking is - does he actually own the copyright, or is he just saying he does. This would depend on the terms of the contract under which the query was written.

Edit: I want to modify my answer - you can do what you wish with it (I am not a lawyer!), as long as there is no strange contract involved.

Case 1: He sold you the .sql file as a "program" - the .sql file itself is the program, and you can modify it however you want - same with if you buy any application you can open it with a hex editor and change bits around. There is no EULA prohibiting this.

Case 2: He sold you the .sql file as source code - he sold you the source meaning the source was what you bought from him and again you can modify it as you're just modifying what you bought.

People are getting too caught up in the fact that you can "view the source" of a .sql file - it's either a program or it's a source file depending on the contract, and either way you can modify it. Copyright protects people from unauthorized distribution, not modification for internal use.


Find someone who has never seen the extorter's code to inspect the table structure and derive an equivalent query in a cleanroom fashion.


Per US copyright law, section 102, paragraph b:

In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.

Here's the original.

DISCLAIMER: me != lawyer

Just a thought: you may find it cheaper to have a lawyer review this, than to pay $500/yr for updates..


As always, if you're truly worried about it then ask a lawyer. We're developers.

If I saw something like that and the query wasn't anything overly complicated, I'd re-write it myself (possibly using his query strictly to figure out the database schema, but that's it).

At that point, you'd be updating your work...not somebody else's.

As for his query...if there was no contract signed at the time of the work, I think it'd be a little flaky to enforce the Copyright.


Find someone else to rewrite the query for you (or do it yourself) and never use his code again.

You don't have to use his code.


Actually I am a bit surprised at some of the attitudes to this question. The programmer was initially brought in as no one else could solve the problem. The solution may or may not have been easy but no one else could do it and he could and did.

He then gets called back in every year to do maintenance. While the changing the year is not exactly rocket science and maybe someone else would have suggested parameters he was not asked to (I assume). Did someone for argument's sake write a specification for the programer which he didn't adhere to? Or did someone say to him 'just fix it. How much? $500? Cool, hurry up. Oh and come back next year and maintain it please"?

Much of the wrath here seems to be around the simplicity of the problem he solved, but surely that is not the point? He solved the actual problem, ensured it all ran each year and got an agreed recompense. My maths is awful, but I suspect there are people who can write applications to do fast Fourier transforms without breaking into a sweat. But because they find it easy should they charge little or no money for "solving the problem".

The point about the copyright. Well, many of the post here started with "I AM NOT A LAWYER". No, and neither I suspect was the original programmer. He (hamfistedly) tried to protect himself and I agree with others that it is either not worth the paper it is written on or that all that is needed is to rewrite ot without looking at or using the code, or some of the other suggestions here. Not hammering some guy for earning living.

OK so mark me down now for dissenting.


I am not an attorney, but from what I understand:

Unless you had an express "work for hire" agreement in writing, or could prove that a mutual understanding of "work-for-hire" existed, then he would have been within his legal right to limit the use of that code.

"Work for hire" basically means anything created by an individual while under a "work-for-hire" arrangement, is immediately the property of the person hiring them. Without such an agreement, new work created is automatically copyrighted to the individual writing it. I believe any work created by an employee (not sub-contractor) is automatically considered "work for hire".

Of course you cannot copyright ideas, only a specific expression of those ideas.


I'd love to do work for your school district. Apparently your contractors can stick whatever conditions they like into their comments and your first impulse will be to honor them rather than looking up the contract and determining what the actual conditions are.


Nobody seems to have picked up the fact that Copyright deals with copying. If the OP is neither copying nor distributing, Copyright really doesn't appear to apply in this instance.

i.e. the School may not publish or sell as their own work (perhaps) without permission. You'd want to consult your lawyer in those cases.

In any event, the OP has consent to run the program which runs some sql in a particular file. I assume the OP hasn't circumvented any anti-tampering controls put in place by the programmer.

The sql, which is part of the program (work for hire notwithstanding), is just text in a file. Now it may be the case that modifying any/all files related to the program without express consent of the programmer may void any warranties, but that's really about it.

And for $500, nobody's going to sue you. Do you know what lawyers cost? But don't be surprised if you void any support by the original programmer. Fair warning there.

When all is said and done, if all the guy does for $500 is take a 2 minute change that's a bit brash. But are you certain that's all he's doing? $500 for a 1/2 days work at a normal consulting charge out rate isn't unrealistic.


Write your own version of the "application" from scratch. How hard can it be?


Checkout Aharonian v. Gonzales.

Basically, you cannot copy the source code of an application, but you can create an application that is functionally similar so long as that does not infringe the copyright of the source code itself.

In essence, you can recreate the SQL queries, but you can't copy them directly.

Still, talk to a lawyer about it if you have additional concerns.


I think you'll need to look not at the code but at the contract under which the individual wrote the code. Normally in any kind of programming activity there is a clear indication of the ownership of the source code/object code for the project.

If that wasn't in the original contract then I'd make sure it was in this one.


The fact that it is a SQL query is a red herring. It is source code and intellectual property just like if it was compiled into an executable. As others have already said, any limitations on your use of the software depends mostly on the terms of your agreement.

I will observe that his comment says:

// This code MAY NOT BE USED without the expressed written consent of 

Which says nothing of modifying it, plus if you modify it then you could also argue that you aren't using his code.


Define a new view using the original query as a base without specifying the date parameter e.g.

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

Write a new query to select from the view applying the date parameter e.g.

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

Spend the $500 on a solicitor's letter

My 2 pennies is at most he can ask you leave his name in if you reuse his code (which is quite common, no?


My first question would be "What did the contract you had with the developer say when you paid him last year?" Or, I'd go talk to the attorney for the school system. And take the contract from last year if there is one.


You never said where you were, so any advice we could give you is useless. There are different laws in different jurisdictions.

If you're in the US, call your local Bar Association, ask for a referral to somebody who works with software copyrights, and trust what that person tells you, not anything you read on SO. If you're in another country, find out the equivalent.

Speaking as a US citizen who is not a lawyer of any sort, there's a few things to consider.

You never told us how complicated the query was. It's impossible to copyright the only reasonable implementation of something. If it's straightforward, just rewrite it in a straightforward manner. If it's complicated, the query is probably not strictly functional, and there is doubtless some creativity in it. In that case, you should rewrite it in a different manner, or hire somebody.

You should be able to find somebody who'll rewrite the query cheaper than continuing to pay $500/year, and it shouldn't be hard to find somebody more ethical than the original developer.


This is a board filled with Software Engineers who know a lot about coding and little about legal issues. It is better you consult a lawyer rather than risk receiving bad advice here.


What were the terms of the contract between the school and the contractor?

(I don't hold out much hope...but I know that anything I write for my employer is contractually bound to them owning the copyright)

I hope you find it reassuring the amount of outraged posts you have had on this question about this snake oil pedlar (I know I do)


First, stop this disclaimer nonsense. You're not a lawyer even when you say "I'm a lawyer, seriously" anyway. I know this because I'm son of the king of Nigeria. Anyone who takes legal advice from a forum is doomed.

1) The code is copyrighted. If there are no contracts/agreements stating the otherwise, copyright belongs to the person who produced the code.

2) Charging $500 every year for changing year variable is outrageous but not unethical. That's how capitalism works. However modifying a code till you invalidate its owner's rights is certainly unethical.

What you need to do is to hire someone (or the same guy, whoever's cheapest), to write a query that works every year. That's the RIGHT and ETHICAL way of getting away from $500 every year. Don't forget to set your terms right this time (who owns copyright etc).


[its not a legal advice]

You pay that guy for what? To generate you a report, or to write code to generate that report? In my opinion, as I'm not a lawyer:

  • If you pay him for a computer program, that belongs to you. (as dcneiner commented, just if it was in the contract)
  • If you pay him for use his program, that belongs to him.

[/its not a legal advice]


You pay him for service not the code. The fact that he left you with source of his code does not allow you to use it. Even if that was single char he created it, he has not sold the copyright and he has not licensed you to use it.

If you want to save money delete his query and write your own from scratch or just let him know you are going to do just that and offer to buy his query for 500$. He'll probably go for it since it's going to be his last opportunity to get some of your money.


Why not just call the guy and ask him what's up? It's probably boiler-plate comments in his code and he probably doesn't give a toss. If he does care at all, it's probably more to do with releasing his code rather than using it. Also, if he's that concerned over $500, then he doesn't have enough money to hire a lawyer anyway. Lastly he would have to prove that you used his code - how's he going to do that?

@PurplePilot PurplePilot makes a good point. If I haven't heard from a client in a year, chances are it'll take me 30 minutes just to pull up my old notes, passwords, etc and refresh my memory as far as what is going on. Then, assuming the single-click button still worked, I would probably at least want to do some spot checking. Then you have to send it off to the person (who knows if it is even the same person this year - you might have to explain to them what to do with the file). Then you have to generate an invoice if you plan on getting paid.

Basically if you consult for a living you don't get paid for 8 hours a day. But when somebody calls you once a year, it takes an hour or two just for administrative stuff.


I'm not a lawyer, yadda, yadda, yadda...

This is from www.copyright.gov:

"Copyright protection is not available for ideas, program logic, algorithms, systems, methods, concepts, or layouts."

If you extract the SQL code from his .bat file, it would most likely fall under the category of "program logic". He might be able to argue that his simple .bat file is a "program", but he'll most likely lose that argument if it comes down to it.

Also (and more importantly), you have to actually file with the government to obtain a copyright on a computer program. I highly doubt that he has done that every year (any change to the program would require a new application and non-refundable fee).

Finally, if this guy is hurting so much for his $500 a year then I doubt that he has the money to spend on a lawyer to litigate this. Do it yourself and if he actually finds out AND raises a stink (I doubt he will) then let him rant and rave. Don't explain yourself, don't get into an argument. Just say that you're not interested in what he has to say and "have a nice day". He'll most likely go away in a huff never to be heard from again.

Again, this is not legal advice, I'm not a lawyer, I've never played one on TV.


I'm not a lawyer either but...

I would guess that you've already got permission to USE the query as you paid him for the use of it.

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

the verbiage doesn't say anything about "altering" it though... :)


One of your many options here is to create a black box replacement. This sounds like a well-understood problem for which you can write a short requirements document. I would recommend that you include the option to parameterize variable options such as the year in question (!).

More importantly, I would recommend that you make SQL Injection and similar attacks impossible in your replacement code. To my mind, if someone has created a cash cow like this, they are focused entirely on milking you for the money and not so much on producing the quality one-time solution that you really need.

Given your requirements document, your recommendation that you have a quality database management system so that you don't get 'hacked', you should be in a solid position to write a functional replacement.


It depends on the contract between the school district and the person who did the work. If its a Work for Hire contract (probably the most common), then the contractee (school) owns the work.

참고URL : https://stackoverflow.com/questions/1840847/can-someone-copyright-a-sql-query

반응형