Рубрики
Uncategorized

Открытый источник, стандарты и технические долги

Поскольку потребность программного обеспечения развивается, технологическая эволюция подразумевает техническую задолженность. Открытый источник может помочь смягчить техническую задолженность, влияя на стандарты. Теги с DevOps, Agile, Opensource, производительностью.

Двадцать лет назад Camptocamp был Pioneer Company в усыновлении открытого исхода. В наши дни, Открытый источник стал мейнстримом И подавляющее большинство отрасли согласуется на многие преимущества его практики. На самом деле модель с открытым исходным кодом стала де-факто Стандарт в некоторых областях, таких как разработка веб-интерфейса.

Многие компании делают все большее использование программного обеспечения с открытым исходным кодом в их инфраструктуре и стеках развития, и существует бесчисленные доказанные причины для этого, таких как стандартные форматы или Безопасность открытой , чтобы назвать просто пару.

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

Так почему же вы должны внести свой вклад в программное обеспечение с открытым исходным кодом?

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

Таким образом, внесение моих изменений гарантирует, что они останутся совместимы с базовым кодом с течением времени. Может даже быть улучшения для моего кода, если больше людей сталкиваются с аналогичным потребностями в будущем и решили построить на моих изменениях.

Сегодня, однако, я считаю, что пример, который я только что дал, является конкретным случаем более общего правила, который охватывает более прагматические причины для внесения кода в качестве открытого источника. Этот более общий контекст связан с концепцией Технический долг : Идея о том, что технические решения подразумевают скрытую стоимость («долг»), которые должны будут выплачены в будущем, чтобы догнать современные технологии.

Так как мне минимизировать долг?

Минимизация технического долга — это обширное и порой конфликт-субъект. Тем не менее, я думаю, что безопасно предполагать, что один из способов сократить его риск заключается в придерживании стандартов. Чем ближе проект прилипает к отраслевым стандартам, тем меньше вероятность того, что он должен быть перенесен в другой технологический стек в обозримом будущем.

Что если стандарты не соответствуют моим потребностям?

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

Хотя есть другой путь. Если моя потребность не будет выполнена, и на самом деле это действительная потребность (который является очень важным вопросом, чтобы спросить в первую очередь), то другие люди могут иметь эту потребность в будущем. Когда они делают, кто-то где-то, создаст новый стандарт для этой необходимости. Когда этот новый стандарт становится примеен, то будет очевидно, что мой конкретный компонент стал очевидным.

Так что, что если вместо того, чтобы построить конкретный компонент, чтобы восполнить отсутствие стандарта, я сам устанавливал новый стандарт? Открытый исходный код позволяет вам сделать только что! Это дает вам возможность стать первым, предоставляющим открытую реализацию для общей необходимости, а также шанс заключить его в новый стандарт. Если этот новый стандарт ловится, вы не только решили свою проблему, но вы также не накопили техническую задолженность. На самом деле, вы впереди других пользователей, потому что вы устанавливаете новый стандарт.

Подожди, мы не Faang!

Очевидно, что большинство организаций не могут позволить себе иметь инженеров, ориентируясь на IETF RFCS или перемещать стандарты ISO, чтобы соответствовать нашим потребностям.

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

Теперь каждый раз, когда кто-то имеет необходимость в этом варианте, они будут использовать мой новый флаг. Я внес новый стандарт, и я не сделал ни одного технического долга на моей стороне.

Это не размер шагов, которые имеют значение, это действительно то направление, в котором вы их берете.

Где я начинаю?

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

На камптокампе мы были привержены подходу на открытый исходный код в течение многих лет.

Это означает, что у нас есть привычка решения проблем в общих условиях и создания новых стандартов.

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

Когда мы реализуем программное обеспечение с открытым исходным кодом для наших клиентов, мы активно стремимся ограничить технологический долг. Потому что мы верим в мир стандартов, мы не хотим, чтобы нашими клиентами чувствовать себя полностью застрявшим с технологическим стеком в будущем. Или даже с нами!

Оригинал: «https://dev.to/camptocamp-ops/open-source-standards-and-technical-debt-2g1»