Скандал з Moq і чаму варта разбірацца ў ліцэнзіях

Скандал з Moq і чаму варта разбірацца ў ліцэнзіях

Арцём Мікуліч | АБАЖУРЫ

Гэтым разам пост будзе не пра Azure, а пра маю ўлюбёную бібліятэку для юніт тэстаў – Moq. А калі яшчэ больш дакладна, пра мясцовы скандал з яе ўдзелам.

Пачынаючы з версіі 4.20 у ёй прысутнічаў код 3rd-party бібліятэкі (Sponsorlink) з закрытым кодам, які ў сваю чаргу збіраў адрасы электроннай пошты распрацоўшчыкаў. Здарэнне выклікала вялікае абурэнне ў кам’юніці. Для кагосьці непрымальна бачыць падобны софт у open-source бібліятэцы, а кагосьці раззлаваў факт збору email. Арыгінальны цікет можна знайсці вось тут.

Акрамя напісання каментароў распрацоўшчыкі ўсяго свету пачалі дзейнічаць. Ніжэй я скапміляваў для вас невялікі калаж з камітамі, якія залінкавалі на арыгінальны цікет-скаргу (то бок гэта каміты ў іншых рэпазіторыях GitHub).

Узгадванні арыгінальнага цікету ў камітах на Github

Усе рэакцыі можна падзяліць на дзве катэгорыі:

  1. Бегчы прэч (выдзелена чырвоным). То бок замяніць Moq на альтэрнатыву (NSubstitute), ці нават проста выдаліць Moq.
  2. Пачакаць, замацаваўшы апошнюю "бяспечную" версію Moq (выдзелена сінім).

Выглядае на тое, што першая "стратэгія" значна больш папулярная і, такім чынам, Moq страціць значную частку сваёй аўдыторыі. На мой погляд, пачакаць выглядае больш кемлівым варыянтам. На сёняшні дзень бядачны SponsorLink ужо стаў open-source, таму верагодна, што падобнай праблемы больш не ўзнікне. Увогуле тое, што адбылося, паказвае наколькі эфектыўна працуе дэмакратыя кам’юніці.

Можа ў вас узнікла пытанне: ці парушылі распрацоўшчыкі Moq які-небудзь закон ці дамову? Давайце паглядзім на іх ліцэнзійнае пагадненне, якое ўяўляе сабой усяго 29 радкоў. Іх можна падсумаваць двума словамі - as-is, то бок адказнасці няма. Гэта вельмі важны момант, бо сустракаюцца выпадкі, калі ваш кліент можа непрымальна ставіцца да open-source ліцэнзій і абмяжоўваць іх выкарыстанне. Кампанія-распрацоўшчык прыватнага софта звычайна дае гарантыі і нясе юрыдычную адказнасць.

З гэтай прычыны я раю заўсёды весці спіс старонніх бібліятэк, якімі вы карыстаецеся. Найпрасцейшага Excel з некалькімі палямі будзе дастаткова:

  • Назва бібліятэкі.
  • Версія.
  • Тып ліцэнзіі.

Самае важнае тут тып ліцэнзіі, у якіх варта хоць крыху арыентавацца. MIT і Apache License – самыя распаўсюджаныя і самыя мяккія, бо дазваляюць карыстацца і мадыфікаваць код без абмежаванняў. Накрыклад, ніхто не забараняе напісаць “свой” dotnet і пачаць яго прадаваць (гл. ніжэй) – дастаткова ўказаць copyright.

MIT ліцэнзія dotnet

А вось GPL (General Public License) дазваляе мадыфікаваць код толькі пры ўмове, што код-нашчадак атрымае GPL у спадчыну. Таму на Quake III зарабіць не атрымаецца.

GNU GPL ліцэнзія на Quake III

Праз прыклад Moq я хацеў засяродзіць вашую ўвагу на тым, што распрацоўка – шматгранны працэс, дзе пытанне Privacy стаіць на адным з першых месцаў. Зразумела, што нашыя веды не заменяць кансультацыі са спецыялістам па privacy ці юрыстам, але разумець прынцыпы ліцэнзавання і адказнасці - файная ідэя, асабліва з ростам адказнасці.

 

 

 

 

Report Page