Quelqu’un peut-il copyrighter une requête SQL?

Je travaille pour un dissortingct scolaire. Chaque année, nous devons exporter une liste d’étudiants de notre système de gestion des étudiants et l’envoyer à une entreprise qui gère nos examens en ligne.

Donc, pour faire cette exportation, nous avons dû embaucher quelqu’un qui connaissait le fonctionnement interne de notre système de gestion des étudiants. Il a écrit une requête SQL (Adaptive Sybase SQL Anywhere) pour exporter les étudiants vers un fichier csv, comme nous en avions besoin. C’était avant que je commence à travailler pour le dissortingct, alors j’ai supposé pendant un moment que c’était une application réelle, jusqu’à ce que le moment soit venu pour moi d’exporter moi-même.

Et chaque année, il nous demande 500 dollars pour mettre à jour cette requête afin d’exporter les étudiants pour l’année en cours. Donc, quand j’ai découvert qu’il ne s’agissait que d’une requête (fichier .bat et fichier .sql), je pensais que je pouvais le mettre à jour moi-même. Tout ce que j’ai à faire est de changer les années dans la requête (par exemple, 2009 à 2010).

La requête (fichier .sql) elle-même a ce commentaire en haut:

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

(Oui, ça dit vraiment “écrit”.)

Alors maintenant, mon patron craint que nous violions le droit d’auteur. Et que le gars va découvrir que j’ai mis à jour la requête moi-même parce que nous ne lui avons pas demandé de le mettre à jour cette année et de prendre des mesures juridiques.

Donc, revenons à la question du sujet: peut-il vraiment protéger cette requête? Et si oui, le modifier nous-mêmes constitue-t-il une violation du droit d’auteur? Dans mon esprit, une seule requête n’est pas un code de programme. C’est plus une commande en ligne de commande. Mais je ne sais pas ce qui est considéré légalement.

Si j’étais vous, j’écrirais une description complète de ce que la requête doit faire, y compris toutes les tables, les noms de champs, etc., et postez-la ici. Quelqu’un ici doit être en mesure d’écrire une nouvelle version de la requête qui n’est pas protégée par les droits d’auteur de votre développeur, et vous pouvez l’éditer chaque année à votre contenu.

Il charge 500 $ pour changer de 2009 à 2010? Oh mec, quelle arnaque.

Cette année, payez-lui ses 500 $ et dites-lui que vous voulez que la demande prenne l’année scolaire comme paramètre. Voyez comment il réagit en sachant que ce sera sa dernière fois à travailler pour vous.

Tout d’abord, la clause de non-responsabilité standard: je ne suis pas un avocat, alors ne prenez rien que je dis comme conseil juridique.

Ce que je dis ci-dessous concerne la loi aux États-Unis – dans d’autres pays, il est susceptible de varier, bien que grâce à la Convention de Berne, la loi sur le droit d’auteur soit assez uniforme dans de nombreux pays.

Le droit d’auteur peut couvrir des œuvres écrites créatives, et je dirais qu’une requête SQL peut / ne tombe pas dans cette plage.

En même temps, à moins que son contrat avec l’école ne soit écrit de manière très étrange, il leur a écrit ceci comme travail à louer. Dans ce cas, sa revendication de droit d’auteur est probablement une véritable fausseté – lorsqu’une œuvre est écrite pour être louée, le locataire, et non l’auteur, est propriétaire du droit d’auteur.

Il semble y avoir une certaine controverse à propos de ce qui constitue un travail fait pour être embauché. Selon la loi américaine (17 USC, §101):

  Un «travail fait pour embaucher» est ...

   1) un travail préparé par un employé dans le cadre de son emploi;

   ou

   (2) une œuvre spécialement commandée ou mise en service pour consortingbuer à une
   œuvre collective, dans le cadre d'un film ou d'une autre œuvre audiovisuelle,
   comme traduction, comme travail supplémentaire, comme compilation, comme
   texte d’instruction, comme test, comme matériel de réponse à un test, ou comme
   atlas, si les parties conviennent expressément d’un instrument écrit signé par
   eux que le travail doit être considéré comme un travail fait pour embaucher. 

Étant donné que cette requête semble relever du champ «(1)», elle peut être qualifiée d’œuvre faite pour la location, même sans accord express à cet effet. L’exception possible serait que si son contrat était rédigé, il excluait que l’écriture de la requête ne tombe dans le cadre de son emploi.

La seule partie qui est vraiment ouverte à la question est de savoir s’il est qualifié d’employé ou non. Dans le cas d’un consultant, cela peut être une question difficile à répondre. Fondamentalement, s’il travaille de manière totalement indépendante et ne délivre qu’un résultat final, il ne l’est probablement pas. S’il travaille à peu près comme un employé normal et qu’il contrôle des choses comme son emploi du temps, il y a de fortes chances qu’il soit qualifié d’employé temporaire.

Oui, les requêtes SQL peuvent être protégées par copyright.

La question que vous devez vraiment vous poser est la suivante: est-ce qu’il possède réellement le droit d’auteur, ou est-ce qu’il dit simplement qu’il le fait? Cela dépend des termes du contrat sous lequel la requête a été écrite.

Edit: Je veux modifier ma réponse – vous pouvez faire ce que vous voulez avec (je ne suis pas avocat!), Tant qu’il n’y a pas de contrat étrange.

Cas 1: Il vous a vendu le fichier .sql en tant que “programme” – le fichier .sql lui-même est le programme et vous pouvez le modifier comme vous le souhaitez – même si vous achetez une application, vous pouvez l’ouvrir avec un éditeur hexadécimal et changer les bits. Il n’y a pas de CLUF interdisant cela.

Cas 2: Il vous a vendu le fichier .sql en tant que code source – il vous a vendu la source, ce qui signifie que la source était ce que vous lui avez acheté et vous pouvez le modifier car vous ne faites que modifier ce que vous avez acheté.

Les gens sont trop pris par le fait que vous pouvez “voir la source” d’un fichier .sql – c’est un programme ou un fichier source en fonction du contrat, et de toute façon vous pouvez le modifier. Le droit d’auteur protège les personnes contre toute dissortingbution non autorisée, pas de modification pour un usage interne.

Trouvez quelqu’un qui n’a jamais vu le code de l’extorseur pour inspecter la structure de la table et obtenir une requête équivalente en mode salle blanche.

Selon la loi américaine sur le droit d’auteur, l’article 102, paragraphe b:

La protection du droit d’auteur pour une œuvre d’auteur originale ne s’étend en aucun cas à toute idée, procédure, processus, système, méthode de fonctionnement, concept, principe ou découverte, quelle que soit la forme sous laquelle elle est décrite, expliquée, illustrée ou incorporée dans un tel travail.

Voici l’original .

AVERTISSEMENT: moi! = Avocat

Juste une pensée: vous trouverez peut-être moins cher de demander à un avocat de le vérifier que de payer 500 $ / an pour les mises à jour.

Comme toujours, si vous êtes vraiment inquiet, demandez à un avocat. Nous sums des développeurs.

Si je voyais quelque chose comme ça et que la requête n’était pas trop compliquée, je l’écrirais moi-même (éventuellement en utilisant sa requête uniquement pour comprendre le schéma de la firebase database, mais c’est tout).

À ce stade, vous metsortingez à jour votre travail … pas celui de quelqu’un d’autre.

Quant à sa requête … s’il n’y avait pas de contrat signé au moment des travaux, je pense que ce serait un peu fade de faire respecter le Copyright.

Trouvez quelqu’un d’autre pour réécrire la requête pour vous (ou faites-le vous-même) et n’utilisez plus jamais son code.

Vous n’avez pas à utiliser son code.

En fait, je suis un peu surpris de certaines attitudes face à cette question. Le programmeur a été initialement intégré car personne d’autre ne pouvait résoudre le problème. La solution peut avoir été facile ou non, mais personne d’autre ne pouvait le faire et il le pouvait et le faisait.

Il est ensuite rappelé chaque année pour faire la maintenance. Bien que le changement d’année ne soit pas exactement sorcier et que l’autre aurait proposé des parameters auxquels il n’a pas été demandé (je suppose). Quelqu’un a-t-il écrit une spécification pour le programmeur à laquelle il n’a pas adhéré? Ou est-ce que quelqu’un lui a dit ‘juste le réparer. Combien? 500 $? Cool, dépêche-toi. Oh, reviens l’année prochaine et maintiens-le s’il te plait “?

Une grande partie de la colère semble être liée à la simplicité du problème qu’il a résolu, mais ce n’est sûrement pas le cas? Il a résolu le problème, s’est assuré que tout se déroulait chaque année et a reçu une récompense convenue. Mes calculs sont terribles, mais je soupçonne que certaines personnes peuvent écrire des applications pour effectuer des transformations rapides de Fourier sans transpirer. Mais parce qu’ils trouvent cela facile, ils ne facturent que peu ou pas d’argent pour “résoudre le problème”.

Le point sur le droit d’auteur. Eh bien, beaucoup de post ici ont commencé par “JE NE SUIS PAS UN AVOCAT”. Non, et je ne pense pas non plus que le programmeur original. Il (avec enthousiasme) a essayé de se protéger et je suis d’accord avec les autres pour dire que cela ne vaut pas le papier sur lequel il est écrit ou qu’il suffit de réécrire sans regarder ou utiliser le code, ou quelques autres suggestions ici . Ne pas marteler un gars pour gagner sa vie.

OK alors marquez-moi maintenant pour dissidence.

Je ne suis pas avocat, mais d’après ce que j’ai compris:

À moins que vous n’ayez un accord écrit explicite de «travail à la location» ou que vous pouviez prouver qu’une compréhension mutuelle du «travail à des fins d’embauche» existait, il aurait alors légalement le droit de limiter l’utilisation de ce code.

Le terme «travail à la location» signifie essentiellement que tout ce qui est créé par un particulier dans le cadre d’un accord de «travail à la location» appartient immédiatement à la personne qui l’engage. Sans un tel accord, le nouveau travail créé est automatiquement protégé par la personne qui l’écrit. Je crois que tout travail créé par un employé (et non un sous-traitant) est automatiquement considéré comme un «travail à la location».

Bien sûr, vous ne pouvez pas protéger les idées, mais seulement une expression spécifique de ces idées.

J’aimerais faire du travail pour votre dissortingct scolaire. Apparemment, vos sous-traitants peuvent tenir dans leurs commentaires les conditions qui leur plaisent et votre première impulsion sera de les honorer plutôt que de rechercher le contrat et de déterminer quelles sont les conditions réelles.

Personne ne semble avoir pris conscience du fait que le copyright concerne la copie. Si l’OP n’est ni copie ni dissortingbution, Copyright ne semble pas s’appliquer dans ce cas.

c’est-à-dire que l’École ne peut pas publier ou vendre son propre travail (peut-être) sans autorisation. Vous voudriez consulter votre avocat dans ces cas.

Dans tous les cas, l’OP a consenti à exécuter le programme qui exécute un fichier SQL dans un fichier particulier. Je suppose que l’OP n’a pas contourné les contrôles anti-manipulation mis en place par le programmeur.

Le SQL, qui fait partie du programme (nonobstant le travail à la location), n’est que du texte dans un fichier. Maintenant, il se peut que la modification de tous les fichiers liés au programme sans le consentement express du programmeur annule toute garantie, mais c’est tout à fait le cas.

Et pour 500 $, personne ne vous poursuivra en justice. Savez-vous ce que les avocats coûtent? Mais ne soyez pas surpris si vous annulez le support du programmeur original. Avertissement juste là.

En fin de compte, si tout le monde le fait pour 500 $, il faut prendre 2 minutes, ce qui est un peu exagéré. Mais êtes-vous certain que c’est tout ce qu’il fait? 500 $ pour une demi-journée de travail à un taux de consultation normal n’est pas irréaliste.

Écrivez votre propre version de “l’application” à partir de zéro. À quel point cela peut-il être dur?

Commander Aharonian v. Gonzales .

Fondamentalement, vous ne pouvez pas copier le code source d’une application, mais vous pouvez créer une application fonctionnellement similaire à condition que cela ne viole pas le droit d’auteur du code source lui-même.

En résumé, vous pouvez recréer les requêtes SQL, mais vous ne pouvez pas les copier directement.

Cependant, parlez-en à un avocat si vous avez d’autres préoccupations.

Je pense que vous devrez regarder non pas le code mais le contrat en vertu duquel l’individu a écrit le code. Normalement, dans toute activité de programmation, il existe une indication claire de la propriété du code source / code object du projet.

Si ce n’était pas dans le contrat original, alors je m’assurerais que c’était dans celui-ci.

Le fait qu’il s’agisse d’une requête SQL est un hareng rouge. C’est le code source et la propriété intellectuelle, comme s’il était compilé dans un exécutable. Comme d’autres l’ont déjà dit, toute limitation de votre utilisation du logiciel dépend principalement des termes de votre contrat.

Je vais observer que son commentaire dit:

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

Ce qui ne dit rien de le modifier, et si vous le modifiez, vous pourriez également faire valoir que vous n’utilisez pas son code.

Définir une nouvelle vue en utilisant la requête d’origine comme base sans spécifier le paramètre de date

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

Écrivez une nouvelle requête à sélectionner dans la vue en appliquant le paramètre de date, par exemple

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

Dépensez les 500 $ sur une lettre de procureur

Mes 2 sous sont tout au plus il peut vous demander de laisser son nom si vous réutilisez son code (ce qui est assez courant, non?

Ma première question serait: “Que dit le contrat que vous avez passé avec le développeur lorsque vous l’avez payé l’année dernière?” Ou, j’irais parler à l’avocat du système scolaire. Et prenez le contrat de l’année dernière s’il y en a un.

Vous n’avez jamais dit où vous étiez, alors tout conseil que nous pourrions vous donner est inutile. Il existe différentes lois dans différentes juridictions.

Si vous êtes aux États-Unis, appelez votre barreau local, demandez une recommandation à quelqu’un qui travaille avec des droits d’auteur sur les logiciels et faites confiance à ce que cette personne vous dit, et non à tout ce que vous lisez sur SO. Si vous êtes dans un autre pays, trouvez l’équivalent.

En tant que citoyen américain qui n’est pas un avocat, il ya quelques points à considérer.

Vous ne nous avez jamais dit à quel point la requête était compliquée. Il est impossible de protéger les droits d’auteur de la seule mise en œuvre raisonnable de quelque chose. Si c’est simple, réécrivez-le simplement. Si c’est compliqué, la requête n’est probablement pas ssortingctement fonctionnelle, et il y a sans doute une certaine créativité. Dans ce cas, vous devriez le réécrire différemment ou engager quelqu’un.

Vous devriez être capable de trouver quelqu’un qui réécrira la requête moins cher que de continuer à payer 500 $ / an, et il ne devrait pas être difficile de trouver quelqu’un de plus éthique que le développeur d’origine.

Ceci est un conseil rempli d’ingénieurs en logiciels qui connaissent beaucoup le codage et peu sur les questions juridiques. Il est préférable de consulter un avocat plutôt que de risquer de recevoir de mauvais conseils ici.

Quelles étaient les conditions du contrat entre l’école et l’entrepreneur?

(Je n’ai pas beaucoup d’espoir … mais je sais que tout ce que j’écris pour mon employeur leur est contractuellement lié par le droit d’auteur)

J’espère que vous trouvez rassurant la quantité de messages outragés que vous avez eu sur cette question concernant ce colporteur d’huile de serpent (je sais que je le fais)

Tout d’abord, arrêtez ce non-sens. Vous n’êtes pas avocat même quand vous dites “je suis avocat, sérieusement” de toute façon. Je le sais parce que je suis le fils du roi du Nigeria. Quiconque reçoit des conseils juridiques d’un forum est condamné.

1) Le code est protégé par copyright. S’il n’y a pas de contrats / accords stipulant le contraire, le droit d’auteur appartient à la personne qui a produit le code.

2) Il est scandaleux de facturer 500 dollars par an pour changer la variable de l’année, mais ce n’est pas contraire à l’éthique. Voilà comment fonctionne le capitalisme. Cependant, modifier un code jusqu’à ce que vous invalidez les droits de son propriétaire est certainement contraire à l’éthique.

Ce que vous devez faire, c’est d’embaucher quelqu’un (ou le même type, le moins cher), pour écrire une requête qui fonctionne chaque année. C’est la façon la plus juste et éthique de sortir de 500 $ chaque année. N’oubliez pas de définir vos termes correctement cette fois-ci (à qui appartiennent les droits d’auteur, 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 http://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 interestd 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 dissortingct 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.