« Je pense que vous devriez fermer le projet et arrêter de travailler dessus. J'appellerai nos avocats lundi si vous n'avez pas rempli les conditions d'ici là . [...] Nous étions une toute petite entreprise lorsque vous avez effectué votre stage chez nous [...] Heureusement, nous sommes beaucoup plus gros maintenant et, ce qui est très important, nous avons beaucoup d'argent pour payer les meilleurs avocats si nous devons aller de l'avant chemin. "
- de la correspondance avec le PDG de Replit
UPD : J'ai reçu une réponse officielle de Replit et mon projet open source sera bientôt de retour ; s'il vous plaît voir le bas du post dans le post pour les mises à jour. Le reste du contenu restera ici en tant qu'artefact historique.
Bonjour, je m'appelle Radon. J'ai obtenu mon diplôme universitaire l'année dernière et je travaille maintenant en tant que programmeur DevOps / infrastructure. Pendant mon temps libre, je gère également un certain nombre de projets open source .
Quand j'étais à l'université, j'ai fait un stage dans une startup appelée Replit. C'est l'histoire de la façon dont Replit utilise des menaces juridiques et son financement par capital-risque pour me faire fermer un projet open source qu'ils n'aiment pas.
À propos de la réplication
Replit crée une application Web que vous pouvez utiliser pour exécuter du code sur Internet dans différents langages de programmation. Ce n'est pas nouveau (google "exécuter python en ligne" pour preuve), donc la proposition de valeur de Replit consiste en des fonctionnalités supplémentaires telles que la collaboration, l'installation de packages tiers et l'hébergement d'applications Web.
Je travaillais chez Replit à l'été 2019, où on m'a demandé de refaire la pile de gestion des packages Replit et de la rendre open source. Si vous aimez lire des trucs techniques, voici mon article pour le blog Replit , et voici le code sur GitHub .
À l'été 2020, j'ai pris un emploi ailleurs, mais je leur ai quand même envoyé des e-mails de temps en temps lorsqu'ils m'ont contacté à propos de quelque chose de cool que Replit avait développé.
Ă€ propos de mon projet open source
Dans Replit, j'ai vraiment aimé la prise en charge de nombreux langages de programmation différents. (J'ai écrit un autre article sur le blog Replit sur la façon dont ils le font.) Et je me suis demandé : combien de langages de programmation pouvez-vous entasser dans un seul site ?
Pour étudier cette question, j'ai créé ma propre petite application Web capable d'exécuter du code sur Internet. Environ un jour plus tard, j'ai eu quelque chose qui a fonctionné. (Si vous vous demandez pourquoi c'était si rapide - il s'avère que vous n'avez besoin que de 30 lignes de code pour amener les gens à exécuter Python dans une application Web ! C'est peut-être pourquoi il y a tant de sites Web pour exécuter Python sur Internet .. .)
Après que cela ait fonctionné, j'ai commencé à ajouter autant de langages de programmation différents que j'ai pu trouver. Comme vous pouvez le voir sur cet extrait de l'historique des versions de mon projet, j'étais un peu surexcité :
2020-06-05 df9ba38 Initial commit — 0 ( )
2020-06-05 5e3a4a4 Install some packages into a Docker image — 0
2020-06-05 e937c8f Simple Express server with «Hello world» — 0
2020-06-06 0961498 Embed terminal on frontend app — 0
2020-06-06 c66cf63 Embed Monaco editor on frontend — 0
2020-06-06 27ab1f7 Add «run» button — 0
2020-06-06 f417858 You can run Python code now — 1
2020-06-07 d543081 You can run many languages now — 8
2020-06-07 e2a3e71 All languages 17 working now — 17
2020-06-07 473c50c ALL THE LANGUAGES — 25
2020-06-08 3718315 even more languages — 33
2020-06-08 548c1c1 repl.it superiority!!! — 38
2020-06-08 1ae424f More languages, we need all the languages — 48
2020-06-09 c34ccf2 A lot more languages — 77
2020-06-09 846caf2 At this point the number of languages is absurd — 79
Au final, j'ai ajouté 216 langues, dont les 38 langues de Replit , les 100 langues de Yusuke Endo's Quine Relay, et plus encore. Vous vous demandez peut-être : pourquoi ai-je passé autant de temps à ajouter des langages de programmation obscurs à une application Web que personne n'allait utiliser ? Eh bien, laissez-moi le dire ainsi : est-ce le passe-temps le plus étrange de 2020 que vous ayez vu ?
Que s'est-il passé quand j'ai parlé de mon projet à Replit
Une fois, j'ai reçu un e-mail de leur part m'informant d'une nouvelle fonctionnalité qu'ils avaient publiée. J'ai décidé que c'était maintenant le meilleur moment pour partager mon projet open source avec eux, au cas où ils voudraient s'inspirer de l'un de mes travaux :
j'ai d'abord eu une réponse positive. Mais ensuite, 30 minutes plus tard, de nulle part, Replit m'a accusé de comportement contraire à l'éthique et de vol de leur conception :
Aucune des idées que j'ai utilisées dans mon projet open source n'était des "décisions de conception interne": elles ont toutes été publiées publiquement sur le blog Replit (je le savais parce qu'on m'a demandé d'écrire certains de ces articles de blog pendant mon stage). Et mon projet ressemblait à un clone de Replit, pas plus que n'importe quel autre site Web sur les premiers SERP de Google pour "exécuter python en ligne", dont la plupart se ressemblent exactement :
mais je pensais qu'il me manquait quelque chose. J'ai donc demandé des détails :
( Le reste de cet e-mail reprend essentiellement le paragraphe précédent de cet article, mais avec beaucoup plus de détails techniques. Vous pouvez lire l'intégralité de la correspondance sur Imgur . ou archive en ligne .)
Malheureusement, ils ont refusé de fournir des détails spécifiques sur ce qu'ils disaient que j'avais mal fait, ont réitéré leurs déclarations précédentes et m'ont menacé de poursuites judiciaires :
Et puis, cerise sur le gâteau, Replit m'a envoyé un autre e-mail me rappelant qu'ils viennent de levé 20 millions de dollars auprès de leurs investisseurs le mois dernier et ils n'ont pas eu peur de l'utiliser contre moi. Le « vous » en question est l'un de leurs anciens stagiaires qui vient d'obtenir son diplôme universitaire il y a un an et qui n'est impliqué dans aucune activité commerciale.
Je voudrais souligner deux choses Ă propos de cette lettre :
- «commits like this» — . , Replit, , , , 38 , Replit, 178 , .
- , «demanding» — , , , Replit (. ). , .
, Replit
Naturellement, j'ai immédiatement caché mon projet, j'ai attendu un moment que mes sentiments se refroidissent et j'ai envoyé des excuses à Replit. J'ai pensé que quelque chose avait peut-être été perdu par e-mail, alors j'ai demandé à appeler :
Hélas, Replit a ignoré cet e-mail, alors je leur ai envoyé un autre. À cela, j'ai obtenu une réponse, mais pas celle que j'espérais :
juste au cas où Replit ne se rendrait pas compte que j'étais satisfait de la situation, j'ai envoyé trois e-mails de suivi avec des explications au cours des prochaines semaines, tous qui ont été ignorés.
En d'autres termes, la position de Replit est la même : si je republie mon projet open source, ils me poursuivront avec les « meilleurs avocats ».
La réplication est-elle correcte
Replit a affirmé que mon projet open source était :
- cloner la réplication
- sur la base de leur secret commercial (décision de conception interne)
- immoral
Analysons ces affirmations pièce par pièce :
- Lors du développement de mon projet, ai-je réalisé un clone Replit ?
- Lors du développement de mon projet, ai-je utilisé des secrets commerciaux de Replit ?
- Était-ce contraire à l'éthique pour moi de développer un projet open source comme Replit après avoir travaillé dessus ?
Les questions 1 et 2 contiennent beaucoup de détails techniques, je les ai donc mis dans un article séparé . Voici le TL ; DR sur ces questions :
- Mon projet ne ressemble pas plus Ă Replit qu'Ă 15 autres projets (commerciaux !) que vous pouvez trouver sur Google en tapant "run python online" ou "online programming environment".
- Toute similitude entre mon projet et Replit peut être expliquée en ne regardant que les dépôts GitHub et les articles de blog qui ont été publiés en ligne par Replit lui-même, ce qui les rend évidemment non secrets.
Répondons à la question 3 ici :
Question : Était-ce contraire à l'éthique pour moi de développer un projet open source similaire à Replit après avoir travaillé dessus ?
À mon avis, la réponse à cette question est « non », pour plusieurs raisons :
- Riju est une organisation entièrement à but non lucratif. Contrairement à Replit, je n'ai pas cherché de financement d'aucune source, publicité, don, collecte de fonds, abonnement, peu importe. Je ne suis pas intéressé par la gestion d'une entreprise et je n'ai jamais voulu que Riju devienne trop populaire puisque c'est moi qui ai payé la facture du serveur.
- Riju Replit. , Riju 38 . ( , , .) , Replit 7 . , Riju Replit.
- Riju Replit. , , fork bomb — , , . ( .) , Replit, , , , .
- Replit — ( ). — , . Riju , : , , , -, , , GitHub .
- Replit, Riju, . , GitHub. , Replit , , .
- Riju . , . , , Hexagony SNOBOL, , (!).
Je ne suis pas un homme d'affaires. Je ne suis qu'un développeur open source qui aime créer des choses étranges pour le plaisir. (Si vous avez des doutes sur mon expérience de fabrication de choses qui ne rapportent pas d'argent, consultez simplement la liste sur mon site Web et notez l'absence flagrante de tout ce qui a déjà fait un centime de revenu.)
Je n'essaierais jamais de voler quelqu'un. entreprise après avoir travaillé avec eux. Nuire à Replit n'était pas mon intention en travaillant sur Riju, et m'accuser du contraire, surtout sans poser une seule question de clarification et refuser toutes les offres de tenir une discussion, à mon avis, indique une grande mauvaise foi de la part de Replit.
Si vous voulez décider par vous-même qui a raison, je mettrais volontiers toutes les preuves à l'air libre (à l'exception du code, car Replit promet toujours de me poursuivre si je le fais). Encore une fois, j'ai un post séparé avec tous les détails techniques . Et vous pouvez également lire toute la correspondance entre moi et Replit, en version intégrale et abrégée, sur Imgur , un miroir sur Internet Archive ). (Les détails techniques sur Replit ont été modifiés, ainsi que toutes les déclarations qui pourraient implicitement divulguer ces détails.)
Pourquoi Replit a-t-il fait cela ?
Replit énonce les idéaux suivants :
- (, , GitHub Replit; CEO Replit: "I owe my entire career to open-source")
- ( Replit, : « [… ], »; « . -- GitHub»)
- plus facile de partager et de remixer vos créations (par exemple, le PDG de Replit écrit à propos de l'apprentissage de la programmation : « Je téléchargerais des projets liés à ce que je voulais construire [...], les modifierais, les bricolerais et m'inspirerais » ; il conseille d'autres aussi fork et remixent , et vend cette philosophie comme un trait distinctif de Replit )
Cependant, les actions de Replit dans ce cas indiquent de l'hypocrisie :
- ils disent qu'ils encouragent le développement open source, mais quand mon projet open source les a offensés, ils l'ont fermé, tombant dans les préjugés
- ils prétendent avoir aidé la communauté open source, publié des articles de blog, mais quand j'ai essayé d'utiliser ces idées dans un projet communautaire, ils ont menacé de me poursuivre
- ils disent qu'ils facilitent la distribution, le recyclage, la réparation de mes créations, mais lorsque j'ai essayé de remixer le Replit pour moi-même, je suis devenu persona non grata
Dans les lettres que Replit m'a adressées, leurs menaces étaient basées sur le fait que j'avais travaillé pour eux dans le passé. Cependant, je crois que ce raisonnement est un écran. Pour comprendre pourquoi, jetons un coup d'œil à certains des tweets que le PDG de Replit, Amjad, a publiés juste après m'avoir menacé par e-mail :
Amjad a ensuite supprimé ces tweets car ils se sont avérés contradictoires :
Dans ces tweets, Amjad souligne qu'Athens Research s'est clairement inspiré d'une autre entreprise et fait valoir qu'elle devrait donc être « ridiculisée » et interdite de financement. De plus, il dit : « Je m'en tiens à ce que j'ai dit sur les imitateurs en général », ce qui signifie qu'il méprise toutes les personnes qui, à son avis, « copient » des projets existants, pas seulement une entreprise spécifique dans son tweet.
Il y a des similitudes claires entre les commentaires d'Amjad sur Athens Research et ses menaces juridiques contre mon propre projet. Il a même utilisé le même mot dans les deux cas - "copieur"... Dans le cas d'Athens Research, Amjad n'a rien pu faire pour exprimer son mépris si ce n'est de les vilipender sur Twitter. Mais dans mon cas, depuis que je travaillais chez Replit, Amjad avait une raison de me lancer des accusations - des accusations qui, si vous n'êtes pas au courant des faits, semblent légitimes.
Je voudrais également réitérer que la personne que Replit menace de « meilleurs avocats » et de « gros sous » est un diplômé fraîchement sorti du four, sans entreprise, sans financement et sans ambition commerciale . Si quelqu'un avec une vraie société commerciale offensait Replit, je frissonne à l'idée du type de réponse qu'il pourrait obtenir.
Comment Replit a réagi à mon hackerNews Post
Après avoir publié l'article dans la matinée, il a suscité de nombreuses discussions sur Hacker News. Vers 17h00, Amjad a publié des excuses sur Hacker News.
Il a également demandé de programmer un appel, ce que j'ai naturellement accepté : au
cours de l'appel, Amjad s'est excusé pour les menaces légales, mais a répété qu'à son avis, j'avais fait un clone Replit et agi de manière contraire à l'éthique. Au final, nous avons accepté de ne pas être d'accord, et il a promis par écrit que cela ne le dérangerait pas si je ramenais mon projet :
je suis heureux que nous ayons pu régler cette situation à l'amiable, et j'ai hâte de continuer ma vie - y compris la récupération Riju, après je peux reconstruire les choses :) La
paix.