Хтось може дати рекомендації / досвід щодо того, яку ліцензію вибрати для програмного забезпечення?
Яку ліцензію ви вибрали, залежатиме від того, наскільки безкоштовно ви хочете, щоб ваш код був, але безкоштовний означає різні речі для різних людей.
- Для прихильників дозвільних ліцензій безкоштовні засоби дозволяють людям зараз користуватися програмним забезпеченням, однак вони хочуть зараз , не переживаючи про те, наскільки вільне майбутнє отримання.
- Для прихильників ліцензій копілефт безкоштовний означає забезпечення того, що програмне забезпечення та будь-яке його виведення залишаються безкоштовними , готові пожертвувати деякими негайними свободами для забезпечення цього.
Чим дозвольніша ліцензія, тим більше людей зможуть нею користуватися, але тим менше контролю над вами будете. Чим вона більш обмежена, тим більше шансів на перше місце відкласти людей, які використовують ваше програмне забезпечення.
Існує ряд ліцензій на безкоштовний та відкритий код, серед яких GPL <= 2, GPL 3 , LGPL , BSD , Eclipse тощо. У кожного є свої плюси і мінуси, тому прочитайте, які обмеження вони містять у коді, і вирішіть, кому ви хочете користуватися. Увага , в залежності від того ви вибираєте хто - то буде скаржитися - це є священної війни територія.
Загалом це тонкий балансуючий акт, і це дуже залежить від цільової аудиторії вашого програмного забезпечення.
- Чудовим ресурсом для визначення того, яка ліцензія є правильною ліцензією, є дуже всебічний, інтерактивний диференціатор ліцензій від Oxford Universities OSS Watch .
На мою думку, як дозвільні , так і ліцензійні копілефт підходять до наукового коду - головне, щоб код був відкритим кодом в першу чергу. Я вважаю, що наука повинна бути відкритою, а також код, який використовується для підтримки цієї науки.
Які плюси та мінуси "віддати" всі кодовані роботи як коди з відкритим кодом?
Ідея роздавати ваше програмне забезпечення полягає в тому, що якщо інші вважають його корисним, то вони використовуватимуть його.
Якщо вони використовуватимуть їх, вони знайдуть, повідомлять і часто виправлятимуть помилки, економлячи ваші зусилля робити те саме.
Якщо їм це подобається, і ваше програмне забезпечення робить майже все, що хоче, вони можуть покращити ваше програмне забезпечення і внести ці вдосконалення.
Це дуже багато ifs, хоча.
Як боротися з промисловими гравцями, які хотіли б отримати користь від коду дослідження?
По-перше, якщо ви хочете заборонити комерційне використання свого коду, ви можете обрати ліцензію без комерційного застереження про повторне використання.
По-друге, якщо ви думаєте, що хтось може використовувати ваше програмне забезпечення для живлення сервісу, навіть не поширюючи код нікому іншому, тоді ви можете розглянути Affero GPL, який підключає саме цю лазівку copyleft.
По-третє, ви можете зробити вищезазначене та запропонувати подвійну ліцензійну опцію. Пропонування ліцензій GPL або AGPL для публічного завантаження та комерційних ліцензій за окрему плату дає вам найкращі можливості для обох світів, а це означає, що ви навіть зможете отримати певний прибуток від комерційних продажів свого програмного забезпечення, що може допомогти підтримати вашу наукову діяльність.
Зауважте, якщо ви збираєтесь це робити, пропонуйте це з самого початку - це, швидше за все, спричинить менше тертя у ваших дописувачів з відкритим кодом, ніж згодом ви починаєте пропонувати комерційні ліцензії. Якщо ваша громада стає популярною, ви не хочете, щоб люди звинувачували вас у продажі, якщо ви не були зрозумілі про можливість комерційної експлуатації пізніше. В ідеалі вам слід створити відповідну ліцензійну угоду для дописувачів (CLA), перш ніж ви почнете приймати внески сторонніх осіб у свою кодову базу.
Ця відповідь на це питання також дає хорошу інформацію про цей варіант.