Этикет и этика пользования OpenSource

в 16:44, , рубрики: open source, этика, этикет

Написать этот пост меня побудило справедливое замечание пользователя VBart к моему же предыдущему посту, который сейчас в черновиках. После соответствующих правок опубликую черновик — ссылка на комментарий заработает.

Я задумался об этике — гласной и негласной — пользования открытым кодом. Думаю, эта своеобразная памятка будет полезна не только мне, но вообще тем, кто, как и я, просто не задумывался о таком раньше, руководствуясь изложенным в лицензиях. По крайней мере в рунете чего-то подобного не нашёл, поэтому полагаю, что текст имеет право на жизнь.

Здесь как нельзя лучше подходит «золотое правило христианина»: «Относись к другим так, как хотел бы, чтобы относились к тебе», поэтому представим, что мы уже написали абстрактный проект (не суть важно, какой именно) и хотим, чтобы к нему относились хорошо.

Итак, первое и самое важное. Очевиднейшее. Открытое свободное ПО подразумевает, что мы тратим время — драгоценнейший ресурс — почти даром. И хотим, чтобы к этому времени относились уважительно.

Это означает, что замечания к абсолютно любому бесплатному коду желательно высказывать в форме предложений, а не недовольства. Мы — народ очень критичный по своей природе, не критиковать не можем и делаем это зачастую потому, что нам не всё равно. В итоге:

  • Критикуйте бесплатное с предложением

Перекликается с общим правилом критики: «Критикуешь — предлагай».
Из этой же уважительности вытекает правило, похожее на правило этикета не использовать ложку, где можно использовать вилку, а именно:

  • Не делайте собственный fork, где возможен pull request

Правило выше напоминает недавний диалог о новом клиенте хранилища npm. Благодарю автора комментария за диалог и верное по сути замечание. Если же что-либо вынуждает сделать свой форк, то:

  • Делая собственный fork упоминайте оригинал

И даже если что-то не нравится в идеологии авторов, не следует забывать, что после форка мы меняем в основном чужой код, а не свой. И нужно быть благодарным за лицензию, позволяющую ветвление проекта, какими бы ни были разногласия с его авторами.

  • Будьте благодарны за свой fork

Это — очевидное. Дальше — не совсем очевидное, на мой взгляд, правило, которое нарушил сам и поплатился не только «мелким» рейтингом, но «крупной» кармой — и по делу. Не жалуюсь.

Так вот, когда наш свободный бесплатный продукт используется, мы бы (в большинстве своём) хотели, чтобы пользователи упоминали об этом.

Хотя лично я отнёсся бы к сокрытию использования с пониманием: используешь — спасибо уже за то, что мой труд не пропадает, что он востребован. Если нужно — скрывай. Но я — не все, да и с учётом особенностей монетизации открытых проектов, на которые указывал VBart, такое не всегда возможно.

Итак, показывайте чужой продукт настолько, насколько позволяет стремление к безопасности. Особенно если некоторые инструменты сокрытия встроены в продукт — предпочитайте их. В итоге:

  • Показывайте чужой продукт

Также, в идеале, хотелось бы, чтобы — при возможности пользователя труда — труд всё же оплачивался. И здесь справедливо и правильно говорить о хотя бы одном часе одного квалифицированного разработчика на основном языке продукта.

Например, в случае с C++ по данным с roem.ru на первый квартал 2015 года по Москве — 108 000 рублей. В месяце 22 рабочих дня по 8 часов. Итого: 108000/(22*8) = 613,(63) → 620 рублей с округлением. Данные не слишком актуальны, но наверняка близки к истине. Не так уж и много, правда? Но и достаточно, чтобы не ощущать себя пришедшим на всё готовое. Итак:

  1. Уважайте чужое время
  2. Критикуйте бесплатное с предложением
  3. Не делайте собственный fork, где возможен pull request
  4. Делая собственный fork упоминайте оригинал
  5. Будьте благодарны за свой fork
  6. Показывайте чужой продукт
  7. Оплатите час работы автора

Здесь нет восьмого правила — добавляйте свои! Ответы по теме с рейтингом больше 1 будут адаптированы, то есть переформулированы кратко, добавлены в пост со ссылкой и пусть каждый сам решает, что с этим делать.

Спасибо за внимание и комментарии!

Автор: stranger777

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js