Якщо GitHub взаємодіє з Git, а Git має ліцензію під GPLv2, чи не повинен GitHub бути відкритим кодом?


58

Оскільки Git ліцензований під GPLv2, і, наскільки я розумію, GitHub взаємодіє з Git, чи не повинна вся база коду GitHub бути відкритою в GPL-сумісній ліцензії?


59
Чи можете ви вказати на конкретний параграф у GPL, який говорить про взаємодію? Підказка: не існує жодної.
Йорг W Міттаг

14
@ JörgWMittag: плутанина перед тим, хто не добре розбирається в темі з приводу того, чи є доступ до мережі "звільненням" чи поширенням, не є розумним.
whatsisname

1
Це просто: github не передає вам нікому ліцензовану роботу, а точніше, в якій би мірі вони це робили, вони дотримуються ліцензійних умов. Чи можете ви вказати на якусь роботу, "зафіксовану на відчутному носії", яку вони передають вам, що містить роботу, яку вони отримали за ліцензією інших у рамках GPL?
jthill

3
@TobiasKienzler слід зазначити, що "git" - це дві окремі, але пов'язані між собою речі - по-перше, це стандарт, що визначає конкретний метод версії вихідного коду, а по-друге, його еталонна реалізація цього стандарту. Обидві речі мають однакову назву - git. Лише одна з цих речей може бути ліцензована відповідно до GPL, AGPL тощо - якщо ви створюєте свою власну реалізацію зі стандарту, ви можете ліцензувати її будь-яким способом, і творці стандартів або еталонної імплементації не мають жодних позицій щодо цього до вашого коду.
Му

6
@TobiasKienzler нещодавня справа суду Oracle-Google щодо специфікації Java в основному означає, що немає ліцензії, яку ви можете використовувати для запобігання повторного виконання стандарту.
Moo

Відповіді:


111

3 причини, чому:

  1. Згідно з умовами GPL, люди, які отримують доступ до GitHub через Інтернет, не вважаються випуском (або розповсюдженням в умовах GPLv3), і тому GitHub не зобов’язаний ділитися своїм вихідним кодом. Якщо GitHub повинен був продати версію свого сервісу (яку вони могли б зробити, я не намагаюся шукати) там, де вони надсилають вам своє програмне забезпечення, а ви запускаєте екземпляр GitHub внутрішньо у власній мережі, тоді вони можуть вимагати також відправити вихідний код, якщо:

  2. GitHub, можливо, може отримати доступ до клієнта Git через виклики командного рядка, і в цьому випадку, як вважається, спілкується "на відстані руки" , і, таким чином, не робить GitHub похідною роботою і, отже, не підпадає під вимоги GPL.

  3. Крім того, GitHub, можливо, навіть не використовує програмне забезпечення Git і написав власну основну "git-реалізацію" і повторно реалізував свої інтерфейси, щоб підтримувати сумісність, і в цьому випадку вимоги GPL не будуть втілюватися.


47
Насправді, AFAIK, GitHub має власну реалізацію Git, тому ліцензія Лінуса Торвальда на реалізацію Git все одно не має значення.
Йорг W Міттаг

18
Github дійсно випускає їх програмне забезпечення. enterprise.github.com
Брайан Чен

8
"3) Крім того, GitHub, можливо, навіть не використовує програмне забезпечення Git і написав власну основну" git-реалізацію "та повторно реалізував свої інтерфейси для підтримки сумісності. " Я думаю, що @whatsisname було правильним, оскільки Github використовує libgit2. посилання: libgit2.github.com , джерело: github.com/libgit2/libgit2
andytime

8
Важливо зазначити, що LibGit2 ліцензований під GPL2 за винятком посилання .
RubberDuck

8
@RubberDuck: Важливо зазначити, що libGit2 належить github, і тому їм не потрібна ліцензія, щоб використовувати його, тому їм не потрібно дотримуватися того, на що він ліцензований. Навіть якби хтось сперечався з цим, вони, як власник libgit2, можуть ліцензувати його собі за власною ліцензією.
slebetman

6

На додаток до інших відповідей я хочу додати, що погляди ФФС на те, коли дві програми, що співпрацюють, утворюють одну роботу, є досить невиразними:

Крім того, ці погляди ніколи не перевірялися в суді, крім Німеччини:

Справа триває, але поки суддя висловив думку, що одне з ключових міркувань, перелічених у ФФС, для визначення того, чи є дві програми єдиною роботою, а саме спільне використання одного адресного простору, не має ніякого відношення до (німецького) закону про авторське право. Слід зазначити, що ФФС не бере участі в судовому процесі, але сторона, що позовна сторона виступає за погляд ФФС на агрегацію / похід.

Тож, для осіб, які пишуть наступний Github, я б сказав, не вважайте, що ви стоїте на стороні закону, коли FSF каже, що ви є (і навпаки).


Я повинен був би припустити, що це нечастость в суді, оскільки це щось, що не може бути примусовим. Я пам’ятаю розмову Сталлмана, коли він згадав про диск із програмним забезпеченням компанії DRM'ing на диску, і це програмне забезпечення було створено із залишених на копію безкоштовних компонентів на диску. Сам Стенлман у презентації зазначив, що постачальник ніколи не стикався з судовими діями проти цього.
Лан

1
@Lan Ну, DRM - це окрема проблема, яка вступає в гру лише з новими GPLv3, а не зі старими GPLv2. За будь-якої інтерпретації GPLv2, постачальник має право надавати вам джерело для компонентів GPLv2 copyleft, не даючи вам жодного практичного способу виконання модифікацій на їх власному апаратному забезпеченні.
ДепресіяДаніель

@Lan Не припускайте цього. Як мінімум правдоподібний погляд на історію правозастосування полягає в тому, що порушники, які стикаються з судовими діями, як правило, відповідають вимогам. Чи це може бути застосовано не те саме, що хтось потребує часу для цього, і Busybox знаходиться в цікавому місці, де дуже ймовірно, що він буде включений до невідповідних продуктів, і автор готовий до виклику.
chrylis -на страйк-

@chrylis Не впевнений, якого автора BusyBox ви маєте на увазі. Роб Лендлі розпочав судові процеси, але він був огидний результатами, і врешті залишив BusyBox працювати над ToyBox (що дозволяє уникнути GPL повністю завдяки ліцензії на BSD): brownrudnick.com/blog/emerging-technologies/… . В основному, замість того, щоб зупинятись на публікації будь-яких модифікацій BusyBox, оприлюднених (таких ніколи не було), ситуацію зловживали вимагати грошей на фінансування майбутніх позовів та відкриття власних компонентів, абсолютно не пов'язаних BusyBox жодною юридичною теорією. Сумно. Просто сумно.
ДепресіяДаніель

Більше того, пояснення FSF того, що вони означають під "зв'язуванням", не мають технічного сенсу. Наприклад, кожен, хто використовує Java, знає, що речення "Якщо модулі призначені для запуску зв'язані між собою в спільному адресному просторі, це майже напевно означає об'єднання їх в одну програму". - це нісенітниця.
Майкл Кей

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.