Огромный сборник статей от WPTec для начинающих

Мнение

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 помогут людям понять, почему лицензирование имеет значение ».

 

Рекомендуем прочитать
Мнение

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

Мнение

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

Мнение

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

Мнение

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

Подпишитесь на рассылку
и будьте в курсе новостей Wordpress

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *