Створення програмного забезпечення: інструменти craft для розвитку
Минулого місяця Jon Seager (наш віце-президент з Ubuntu Engineering) писав про створення програмного забезпечення:
Протягом останнього десятиліття Canonical вдосконалює сімейство інструментів, званих “crafts”, щоб спростити [складність пакування програмного забезпечення] і зробити процес створення, тестування та випуску програмного забезпечення в різних екосистемах набагато простішим.
Кілька продуктів Canonical мають у своїх назвах craft: Snapcraft, Charmcraft, Rockcraft (і є ще інші, що розробляються). Наші craft продукти — це інструменти для створення програмного забезпечення, для майстра програмного забезпечення. Створення інструментів несе відповідальність – вирішуючи, якими мають бути інструменти, ви також визначаєте, як люди мають працювати.
Навички, сила, технології
Чому ми вирішили використовувати термін craft?
Craft означає мистецькі цінності, роботу, виконану людьми, витончену роботу рук.
Craft – це не лише діяльність, але й цінність.
Це відмінне слово. Воно походить від германського kraft – сили, або потужності. Це має сенс: craft як навичка або здатність є силою. Слово empower так часто вживається, що ризикує втратити своє значення, але тут це справді доречно: надання можливостей людям – ось чого прагне Canonical через відкритий код.
З іншого боку, давньогрецьке слово для craft — це téchnē, корінь сучасного слова технологія.
Технологія почала означати інструменти і машини індустріального суспільства, апаратне й програмне забезпечення, яке ми створюємо, але це більш цікаве слово — технологія, буквально “вивчення навичок”: не просто продукт людської діяльності, а саме людська справа.
Отже, craft — це слово, яке охоплює багато напрямків. Як kraft, воно втягує значення сили та надання можливостей. Як téchnē, воно безпосередньо пов’язане з корінням нашої галузі. Craft – це місце, де зібрані речі, які мають значення і про які ми пристрасно дбаємо.
Це благородне слово для значущої діяльності.
Цінності craft
Craft – навички – повинні вдосконалюватися через практику та роздуми. Це основоположні цінності майстерності, створення та бути творцем. Вибір назви craft для наших інструментів програмного забезпечення сигналізує про почуття обов’язку та серйозність щодо того, що ми робимо.
Стаття Джона описує сімейство інструментів, розроблених з реальним наміром. Вони мають спільні інтерфейси, бібліотеки та робочі процеси – але також мають спільний набір цінностей, і саме тому craft є правильним поняттям, яке асоціюється з інструментами, які ми хочемо надати в руки майстрів програмного забезпечення.