Categories: Мнение

JSHint теперь является бесплатным программным обеспечением после обновления лицензии до MIT Expat

Мир инструментов с открытым исходным кодом расширился, чтобы приветствовать JSHint, поскольку специалисты по сопровождению проекта, наконец, завершили необходимую работу для принятия лицензии MIT Expat. Ранее код JavaScript-линтера частично публиковался под лицензией JSON с дополнительным, казалось бы, безобидным пунктом, который гласил: «Программное обеспечение должно использоваться во благо, а не во зло». Этот пункт препятствовал тому, чтобы FSF признал его лицензией на свободное программное обеспечение, а также не признал его как открытый исходный код Open Source Initiative.

В эссе под названием «Наблюдая за кораблекрушением» соавтор JSHint Майк Пенниси описывает, как лицензия навредила проекту. Несмотря на то, что в 2015 году этот инструмент получил звание самого популярного линтера JavaScript, за последние пять лет его современник, ESLint, сильно опередил его, в основном из-за несвободного лицензирования.

«Юридически сознательные возражающие не выдают своих подлых побуждений; они отказываются заключать двусмысленный контракт », – сказал Пенниси. «Иными словами: они не говорят:« Я злодей », они говорят:« Я не понимаю, чего вы хотите ». Это соображение лишило JSHint возможности включения во все виды контекстов».

Проблемы с лицензированием не позволили разработчикам из дистрибутивов Debian и Fedora GNU / Linux включить JSHint. Пенниси даже немного углубился в историю WordPress, когда он подробно рассказал, как платформы программирования, которые «переупаковали» JSHint, также пересмотрели свое мнение из-за его дополнительного пункта.

«Было время, когда популярная система управления контентом WordPress переупаковывала JSHint таким образом», – сказал он. «Как только они узнали о лицензии JSON, они заменили JSHint в течение нескольких недель». Пенниси сослался на билет для WordPress 4.9, в котором JSHint был удален из основной реализации CodeMirror, а также из инструментов сборки WordPress.

«Когда такой проект, как JSHint, теряет пользователей, он также теряет участников», – сказал Пенниси. «Это замедляет добавление новых функций и исправление ошибок. Своевременность важна для этих вещей, и люди очень негативно относятся к задержкам. Лучшим примером этого является отложенная поддержка JSHint асинхронных функций ».

JSHint превратился в то, что Пенниси назвал «причудливо перегруженным JavaScript линтером». К сожалению, процесс перехода на открытый исходный код через семь лет оказался не таким простым, как подача запроса на изменение лицензии. В серии эссе он раскрывает изнурительный процесс запроса разрешения у всех более чем 200 участников проекта, но в конечном итоге получает один отказ, а некоторые из них не доступны для контакта. В конечном итоге команда JSHint была вынуждена переписать исходный код, но только для тех частей, которые были предоставлены пятью людьми, не разрешившими изменение лицензии.

В начале августа JSHint обновился, чтобы использовать лицензию MIT Expat в версии 2.12.0, и теперь он совместим с GPL. Поучительный рассказ Пенниси о том, что он назвал «освобождением JSHint», – это увлекательное чтение, в котором подробно описывается борьба за преодоление проблем, связанных с первоначальной лицензией на проект. Ключевой вывод из этой истории заключается в том, что создатели программного обеспечения должны заранее тщательно продумать последствия лицензирования, даже если большое сообщество пользователей поначалу кажется невообразимым. Лицензирование с открытым исходным кодом продвигает проект дальше, чем его создатель мог бы реализовать в одиночку.

«Для многих людей лицензирование – это тайная часть разработки программного обеспечения, – сказал Пенниси. «Это относительное мнение: правовая база устрашает, и большинство соображений можно решить, просто отказавшись от хорошо известных бесплатных / открытых лицензий.

«Проблема в том, что не все программное обеспечение распространяется под хорошо известными лицензиями с открытым исходным кодом. Я надеюсь, что подробности упадка JSHint помогут людям понять, почему лицензирование имеет значение ».

 

writer

Recent Posts

Плагин Delete Me для WordPress помогает владельцам веб-сайтов предоставить право на забвение GDPR

Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…

2 года ago

Команда Gutenberg наращивает юзабилити-тестирование в WordCamp US

Команда Gutenberg создаст станцию ​​тестирования удобства использования в WordCamp US, где посетители смогут принять участие…

2 года ago

Плагин распространителя теперь в бета-версии: новое решение для синдикации контента WordPress от 10up

Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…

2 года ago

Gutenberg 1.8 добавляет большую расширяемость для разработчиков плагинов

На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…

2 года ago

Gutenberg 15.5 представляет экспериментальную поддержку разметки сетки

На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…

2 года ago

DesktopServer 3.8.4 включает подарок сообществу

DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…

2 года ago