Вносит ли вклад внутренние инструменты в открытый исходный код, который стоит усилий?
Я знаю, что это общий вопрос, но я хотел бы услышать мнение других людей о нашем случае:
Я работаю в небольшой компании. Наш основной инструмент разработки - PowerBuilder, который является очень ограниченной средой разработки с сокращающимся сообществом. Мы создали некоторые инструменты, которые мы используем для решения определенных задач. Они не были должным образом спроектированы и не были надлежащим образом проверены и не были в производстве. OTOH, они действительно спасают нас некоторое время и могут помочь другим. Я уверен, что у других компаний есть такие же инструменты, и было интересно, насколько распространена практика делиться ими с другими. Как я вижу -
Профи:
- Хорошая карма
- Больше внимания к нашему веб-сайту
- Возможно, исправления и улучшения от других.
Против:
- Не вкладывая больше средств в развитие, инструменты могут заставить нас выглядеть плохо.
- Публикация кода требует некоторых усилий.
- Некоторые из инструментов могут быть слишком специализированными для наших нужд.
- Все усилия могут остаться незамеченными, учитывая сокращение сообщества.
Были ли вы или ваша компания когда-либо предоставляли такие инструменты или использовали такие инструменты, разработанные другими? Это стоит усилий?
EDIT:
Для тех, кто задавался вопросом, инструменты, которые я имел в виду, включают:
- Инструмент, облегчающий использование SourceSafe, путем перечисления объектов, которые выставляются текущему пользователю или другим пользователям, резервное копирование извлеченных объектов и восстановление PBG.
- Инструмент, который распознает элементы управления PB во время выполнения, например Spy ++ (требуется некоторая инфраструктура в целевом приложении).
- Обертка PBNI для SQLite (доступ к процессу, без ODBC).
- Клиент SQL, инструмент для измерения текста и т.д.
Ответы
Ответ 1
"Открытый исходный код" изначально означал, что вы опубликовали инструмент, и вы сделали источник доступным. Из-за ожидаемых проектов, а в некоторых случаях с помощью лицензий , требуемых, которые изменяются в исходный код для повторной отправки, "open source" теперь нередко добавляет концепцию совместной разработки в микс. Я сделал (или попытался сделать) последний; позвольте мне поделиться.
Существуют величины разницы между усилиями, связанными с доступным источником и открытым исходным кодом совместной разработки.
Лидерство: вам нужно рассказать людям, кто, что, где, когда, почему и как изменений. И очень возможно, вам нужно будет дипломатично выталкивать и подталкивать ваших добровольцев. Возможно, вам нужно будет определить видение и определить приоритеты целей проекта, а затем применить их, когда кто-то попытается принять что-то другим. И, если вы только не хотите, чтобы люди сталкивались с вашим инструментом через сердитипию, вам придется рекламировать, используя эту очень тонкую линию (даже тоньше в Интернете) между вниманием и безвкусностью. Если проект собирается реализовать концепцию meritocracy, как говорят многие сторонники open source, тогда кто-то должен будет судить о достижениях людей и надлежащим образом выполнять права и обязанности.
Рабочий поток: я не делал исчерпывающего поиска по какой-либо части воображения, но мне еще предстоит увидеть совместную платформу разработки, которая сделала все, что мне нужно. Одной из причин совместной разработки с открытым исходным кодом является то, что количество, участвующее в проверке кода, будет охватывать любые потенциальные проблемы в качестве представления кода; Я не видел, чтобы бесплатный инструмент интегрировался в платформу для совместной разработки, которая помогла справиться с этим до сих пор (например, подсчет отзывов о кодах, автоматическое продвижение после x-обзоров). Мы должны были справиться с этим, взломав ручные методы в существующие инструменты. Вероятно, в какой-то момент вам придется определить версию и создать сборку. Тогда есть такие задачи, как документация. (Вы когда-нибудь пытались выпустить новую версию чего-нибудь бесплатного без примечаний к выпуску? Фурор!! усмешка)
Проблемы, связанные с PB: PowerBuilder - это коммерческий инструмент, и, хотя есть дешевые версии доступно, нет бесплатных версий. DRM, добавленный в PB11, вероятно, уменьшил или устранил пиратство, которое разработчики, вероятно, делали, чтобы взять копии своего домашнего офиса PB, а PB11 и более поздние версии имеют двойную лицензионную политику, которая позволила бы разработчикам вернуть домой копию на законных основаниях (с разрешения и сотрудничества от первоначальных владельцев лицензий, чтобы создать вторую лицензию), я не вижу многого. (Никакого научного исследования, это то, что я вижу.) Это сокращает много потенциального сотрудничества, даже от энтузиастов. Вопросы совместимости кода между версиями PowerBuilder, а также тот факт, что мало кто будет владеть каждой версией, снова ограничит ваш список потенциальных участников.
Не поймите меня неправильно. Мне бы хотелось увидеть больше возможностей для совместной разработки с открытым исходным кодом в сообществе PowerBuilder. Мне бы очень хотелось узнать, как сами решать проблемы, и у меня есть работа в работах, чтобы посмотреть, смогу ли я сделать новую работу модели. (Моя первая попытка следовать популярной модели потерпела неудачу, ИМХО.)
Есть ли причина плохо себя вести об открытии ZIP файла в Интернете и забыть об этом? Я не знаю. Есть ли еще какая-то гордость или смущение в 4-летнем ZIP-архиве, в отличие от проекта SourceForge, последний взнос которого 3 1/2 года назад был пост "Где, черт возьми, все?" Существует причина, по которой Sybase CodeXchange перешел от совместной платформы разработки к исходной доступной платформе: рядом никто не использовал возможности совместной разработки. Если вы используете исходный код с открытым кодом, у вас будет много компаний.
Кстати, CodeXchange может быть ответом на вашу озабоченность по поводу видимости сообщества PowerBuilder, хотя вы потеряете трафик веб-сайта. PowerBuilder Web Ring - еще один, значительно менее эффективный метод, помогающий вашей видимости отслеживать трафик на вашем веб-сайте, но для этого требуется панель навигации целевую страницу на вашем сайте. CodeXchange также может быть способом преодолеть вашу обеспокоенность по поводу качества кода и ограниченности цели того, что вам нужно поделиться. Гринь
Что вы должны делать? Не стоит недооценивать усилия с совместным совместным развитием, но не позволяйте ему останавливать вас из источника, доступного для совместного использования.
Удачи,
Терри.
Ответ 2
Если вы можете заставить свою компанию выкупить участие в сообществе, я бы пошел на это. всегда стоит приложить немного усилий, и это, безусловно, будет хорошим способом получить некоторые из ваших инструментов для общественности и улучшить сообщество.
Что касается минусов, я бы не стал слишком беспокоиться о критике, он может помочь вам, ребята, улучшить следующий продукт, который вы доставляете, и люди будут уважать вас от изучения ваших ошибок, никто не идеален.
Даже если ваши усилия не будут замечены вашим сокращающимся сообществом, будущие сотрудники и клиенты увидят, что вы вносите вклад в компанию и можете помочь с вашей репутацией с ними.
Я думаю, что плюсы намного перевешивают минусы на этом.
Ответ 3
Вы, вероятно, можете отказаться от одного из своих минусов: любой, кто достаточно заинтересован в этом инструменте для оценки вашего предложения, вряд ли будет писать компанию X - это суксоры в вашей форме обратной связи; скорее, если они найдут недостаток в том, что вы там потушили, вы, вероятно, получите полезные отчеты об ошибках или даже исправления.
Ответ 4
Короче: пойдите для этого. Я сомневаюсь, что там немного потерять, но многое выиграть.
Профи:
** Хорошая карма *
никогда не бывает плохо.
** Больше внимания к нашему сайту *
возможно, если ваш код действительно плохой:)
** Возможно, исправления и улучшения от других *
это, возможно, лучшая вещь, которую вы получаете от открытого кода вашего кода. Все о совместном использовании и помощи друг другу, вы можете использовать другой код, они могут использовать ваши и всех, выигравших в торговле.
Против:
** Не вкладывая больше средств в развитие, инструменты могут заставить нас выглядеть плохо *
Я бы поискал, чтобы удалить изворотливые/грубые/глупые комментарии, убрать форматирование и т.д.
** Публикация кода требует некоторого труда *
требует практически никаких усилий - настройте учетную запись в Sourceforge, создайте SVN repo и импортируйте свой код. Затем создайте двоичный пакет (zip файл) и опубликуйте его с помощью веб-сайта. Может потребоваться час, если вы перестанете читать всю документацию.
** Некоторые из инструментов могут быть слишком специализированными для наших нужд *
Вы можете настроить всю партию как группу - например, PowerBuilder Tools, тогда люди, которые видят действительно специализированные инструменты, не теряют времени на их получение, у них все еще будут "более полезные инструменты".
** Все усилия могут остаться незамеченными, учитывая сокращение сообщества *
Возможно, но тогда действительно нет причин не выпускать код. Если вы этого не сделаете, это может полностью потеряться для всех, если вы измените инструменты разработки.
Ответ 5
Публикация вашего источника - отличный способ получить обратную связь. Если вы выглядите плохо из-за этого, это нормально. Просто будьте готовы исправить эту проблему. Если вам нужна помощь в ваших улучшениях, я не могу придумать лучшего способа, чем обратиться за помощью.
Кстати, множество проектов с открытым исходным кодом могут быть зачтены ростом общин, которые ранее сокращались.
Ответ 6
Я думаю, вы хорошо определились с плюсами и минусами. И это, вероятно, так, что плюсы перевесят минусы. Если никто не любит утилит и ничего не делает с ними или с ними, значит, вы ничего не потеряли; плохой код не должен пугать опытных разработчиков (большинство опытных разработчиков, особенно PB, видели свою долю устаревшего кода). Если даже один человек выгоден, тогда вы получаете карму, а??
Если вы приступите к отправке своих инструментов в сообщество с открытым исходным кодом, сделайте то, что у вас есть, и убедитесь, что инструменты не отшлифованы. Это может помешать некоторым даже взглянуть на них, однако, если они, по крайней мере, функциональны и могут быть легко изменены, то они по-прежнему представляют собой начало для любых потенциальных бенефициаров. Будучи пользователем PB, мне было бы интересно узнать больше о бесплатных инструментах, которые могут дать нам преимущество в производительности.
Вы заглянули в Sybase CodeExchange? У них есть некоторые вещи PB с открытым исходным кодом, в том числе инфраструктура Foundation Foundation Class PowerBuilder.
Ответ 7
Я только что увидел ваш ответ на мой вопрос - удивительно, что вы уже разработали нечто похожее.: -)
Относительно вашего вопроса: компания, на которой я работаю, имеет конкретный раздел на веб-сайте, где публикуются инструменты, которые мы использовали внутри и/или простые решения (или фрагменты кода), которые часто запрашивают клиенты. Лицензия на эти предложения также очень либеральна, я думаю, что она квалифицируется как открытый источник.
В вашем конкретном случае меня довольно интересует приложение, подобное Spy ++, о котором вы говорили, так как я искал (и/или пытаюсь разработать) что-то подобное себе.
Я нацелен на то, что не требует какой-либо инфраструктуры в целевом приложении, но до сих пор я был бы счастлив играть со всем, что работает, даже если это требует изменений в приложениях. Я просто недостаточно разбираюсь в PowerBuilder API, но вы не можете судить о том, возможно ли это без модификации целевого приложения.
Как я уже упоминал, я уже разработал аналогичные Spy-подобные приложения для обычных приложений Windows, а также управляемые приложения кода (которые требуют взаимодействия с VM для запроса состояния дерева объектов), поэтому я надеюсь, что я буду быть в состоянии найти решение, которое не требует какой-либо целевой инфраструктуры.
У вас уже есть исходный код? Его не нужно компилировать, я просто буду рад посмотреть, как вы сделали это в принципе, чтобы я мог (надеюсь) извлечь что-то из него, что решает мою конкретную проблему. Если вы еще не загрузили исходный код, возможно, вы можете указать какой-либо адрес электронной почты, который я могу использовать для связи с вами в частном порядке? Я пробовал искать что-то в вашем профиле, но до сих пор - не повезло.: -)