Как молодой студент, стремящийся сделать карьеру программиста, как я должен относиться к программному обеспечению с открытым исходным кодом? [закрыто]


17

Время от времени на некоторых технологических сайтах появляется такой заголовок: http://www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four -billion

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

Неужели я думаю, что полный охват программного обеспечения с открытым исходным кодом повсеместно повредит индустрии программного обеспечения заблуждением? Если это не так, то почему так много программистов любят программное обеспечение с открытым исходным кодом?


4
Если вы считаете, что стратегия с открытым исходным кодом означает временные увольнения, прочитайте «Стратегическое письмо V» Джоэла Спольски. joelonsoftware.com/articles/StrategyLetterV.html
user16764

Ответы:


26

Тот факт, что проект с открытым исходным кодом не означает, что программисты не зарабатывают на этом. Правительства и компании жертвуют большие суммы денег таким фондам, как Mozilla и Apache.

Также имейте в виду, что компании должны нанимать программистов, чтобы ИЗМЕНИТЬ проект с открытым исходным кодом, чтобы настроить его для своего бизнеса. Компании не могут использовать готовые инструменты для всего. Этого нельзя сделать с помощью программного обеспечения с закрытым исходным кодом, поэтому это пример того, как вы можете открыть новые возможности для программирования. Речь идет не об устранении программистов или их неуплате, а о перестройке структуры, чтобы, как мы надеемся, сделать вещи более эффективными, чтобы у нас было больше времени для НОВЫХ проектов.

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


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

Интересно, как Стив Стринг (основатель проекта Ogre3D) смог работать в области 3D-графики и как это повлияло на созданный им движок.
Jokoon

5

Экономика с открытым исходным кодом довольно странная и часто нелогичная. Возьмите такой продукт, как электронная таблица Excel (в качестве примера, подойдет любой крупный коммерческий продукт). В бизнесе по созданию и поддержке Excel занято определенное количество сотрудников, скажем, X. X, вероятно, будет звучать как большое число для вас и меня, но я понятия не имею, что это такое. Что я знаю, так это то, что это крошечное число по сравнению с количеством людей, которые зарабатывают на жизнь, поддерживая Excel в офисах, школах и других учреждениях и создавая инструменты с использованием Excel. Это число, вероятно, X * 10000. Таким образом, если вы заменяете Excel продуктом с открытым исходным кодом, вы заменяете X, но X * 10000 не затрагивается.

На самом деле, все не так просто. Без сотрудников X требуется больше платных разработчиков для обучения, устранения неполадок и изменения электронной таблицы с открытым исходным кодом. Тот факт, что за продуктом нет коммерческого предприятия, не означает, что бизнес не будет требовать (и платить за) хорошее обслуживание. Фактически, если ваш продукт с открытым исходным кодом набирает достаточную популярность, компании иногда готовы поддержать фонд, который гарантирует будущее развитие этого продукта. Это особенно верно, если их деловые интересы тесно связаны с продуктом. Думать о Mozilla , Apache Software Foundation , Mono Project или Canonical .

Наконец, инструменты с открытым исходным кодом никогда не являются угрозой, когда вы пытаетесь продать услугу. Подумайте о таких организациях, как Facebook, Twitter и даже Stackoverflow. В конечном итоге, эти организации не хотят продавать вам программное обеспечение. Они хотят создать гигантскую сеть. Как только сеть становится достаточно большой, она создает собственную гравитацию. Использование любого другого «продукта» не имело бы никакого смысла, потому что количество участников - это самое главное. Базовая технология - это просто деталь.


3

Я бы сказал, прочитайте о различных идеологиях, стоящих за некоторыми из наиболее известных проектов OpenSource, таких как Chromium, Mozilla и т. Д., А затем решите сами. Никто на самом деле не имеет права говорить вам, как чувствовать себя так или иначе.

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

Если я правильно помню, один из моментов, которые поддержал Creative Commons, заключался в том, что, делая вещи «свободными», вы позволяете людям использовать продукт ваших идей способами, о которых вы, возможно, даже и не мечтали. Это видео мне особенно понравилось: https://creativecommons.org/videos/a-shared-culture


2
Я не думаю, что такой проект, как Mozilla, уменьшит потребность в программистах. Если ваша компания не разрабатывает собственный веб-браузер, в чем я действительно сомневаюсь. Кроме того, я не думаю, что большинство людей даже собираются смотреть на исходный код. Программисты заботятся об исходном коде, а клиенты - нет.
Жоэль Говро

1

Мы никогда не увидим полное объятие .

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


3
Мы не рассматриваем вклады с открытым исходным кодом так же, как компенсируемый опыт. Фактически, наш опыт научил нас избегать найма тех, кто внес значительный вклад в проекты с открытым исходным кодом, потому что разработка программного обеспечения в реальном мире - это 10% удовольствия и 90% скучной тяжелой работы. Кандидаты, которых мы наняли, которые были большими в проектах с открытым исходным кодом, не хотели делать скучную тяжелую работу, которая была необходима для производства профессиональных качественных решений.
bit-twiddler

6
@ бит-бездельник: Конечно, кто - то должен делать скучные части в проектах с открытым исходным кодом тоже
Anto

1
@ Анто: проблема в том, что скучные части часто не выполняются в проектах с открытым исходным кодом. Например, одним из атрибутов, которые отличают высококачественные коммерческие продукты от их программных аналогов с открытым исходным кодом, является документация. Документация даже для самых успешных проектов с открытым исходным кодом бледнеет по сравнению с документацией успешных коммерческих продуктов такого же масштаба. Отсутствие адекватной документации делает изучение продуктов с открытым исходным кодом основной проблемой. Мне не платят за сбор и расшифровку плохо написанной документации. Мне платят за результаты.
bit-twiddler

@ bit-twiddler: То есть от ваших программистов также ожидается выпуск хорошо написанной документации? Разве не дешевле нанимать технических писателей, и разве они не производят лучший продукт?
Дэвид Торнли

1
@ Дэвид Торнли: Да, от всего персонала разработки ожидается умение писать хорошо, в дополнение к тому, что он компетентный разработчик программного обеспечения полного жизненного цикла (т. Е. У нас нет персонала, работающего только с кодом). Никто не знает продукт лучше, чем команда разработчиков и разработчиков. Наш единственный технический писатель занимается координацией и обработкой поставляемой документации.
bit-twiddler

1

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

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


MySQL принадлежит Oracle. Ничто не мешает Oracle закрыть исходный код этого продукта так же, как ничто не мешает Oracle удалить вход сообщества в Java. Компании-разработчики программного обеспечения не продают программное обеспечение - они продают спокойствие руководителям! Государственные корпорации продолжают приобретать коммерческое программное обеспечение, потому что они хотят иметь возможность лаять на корпорации того же размера и заставлять кого-то прыгать через обручи, чтобы устранить проблемы. Продажа IP - это то, как небольшие компании-разработчики становятся крупными компаниями-разработчиками программного обеспечения. Модель только для обслуживания полностью зависит от стоимости рабочей силы.
bit-twiddler

2
Открытый исходный код - это угроза точно так же, как конкурент - угроза. Если база данных Oracle (именно то, что вы называете в наши дни?) Значительно лучше, чем, скажем, PostgreSQL, они смогут ее продать. Если это не так, то зачем нам платить Oracle?
Дэвид Торнли

1

Самые большие риски ...

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

  • Недостаток ответственности: никто не «вкладывает деньги», поэтому трудно найти выход из ситуации, когда случается что-то плохое. Там нет гарантии. Ничего, что даже напоминает одно. Единственная гарантия, которую вы обычно имеете, это репутация и, в конечном итоге, ваш личный опыт. Поскольку она была бесплатной, разработчики могут сказать вам, чтобы вы отказались от пожара, и вас не волнует ни капли о вашей неудаче, или, что не так важно, если вы продолжаете использовать их продукт.


2
И чем это отличается от коммерческого, проприетарного закрытого программного обеспечения? Владелец всегда может решить пойти в другом направлении, и единственный общий продукт, о котором я когда-либо слышал с приличной гарантией, - это TurboTax.
Дэвид Торнли

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

1

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

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


1

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


1

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

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


0

Как вы должны чувствовать? Боже, в следующий раз ты будешь спрашивать "как мне разговаривать с женщинами". Открытый исходный код никогда не заменит, кроме небольшой части платного ПО. Для большинства организаций увеличение затрат на переход от того, что они уже знают, к чему-либо еще, даже бесплатному, превышает стоимость ПО.


0

Основная философия свободного / открытого исходного кода (как я понимаю) заключается в том, что когда вы распространяете программное обеспечение, вы также распространяете исходный код вместе с ним. Открытый исходный код не обязательно означает бесплатное. И, конечно же, в любом крупном проекте простой выбор решения с открытым исходным кодом не означает, что вы просто берете что-то с полки и подключаете его, и все готово. Для любого крупного приложения вам необходимо адаптировать его для ваших конкретных потребностей (может быть так же просто, как настроить его и перенести на него существующую систему, или так же сложно, как модифицировать большие его части) и иметь надежный механизм поддержки, а также Обновления / исправления ошибок с оригинальным программным обеспечением. Это означает, что всегда найдутся рабочие места для программистов. Не говоря уже о любом крупном проекте с открытым исходным кодом,

Подумайте об этом так, если есть уже готовое решение вашей проблемы с открытым исходным кодом, которое уже существует и используется многими людьми, имеет ли смысл тратить большие суммы денег на что-то, что не может быть настолько зрелым, как это ? Просто эффективнее его использовать. Речь идет не о сохранении рабочих мест (как я уже говорил, программисты всегда будут нуждаться), а о простом деловом смысле, который еще важнее, когда у его налогоплательщиков деньги. Избегание открытого исходного кода во имя сохранения рабочих мест - это просто создание искусственной среды, ограничивающей совместное использование технологий, и ИМХО, как правило, вредно для здоровья сообщества программистов.


0

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

http://apcmag.com/linux-now-75-corporate.htm


0

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

Он также установил лучший набор фоновых правил для проекта, он не подчиняется правилу управления: в итоге получается код лучшего качества и долговечности.

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

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

Вы также должны подумать, что программное обеспечение отличается от многих других отраслей: вы поставляете что-то нестабильное, с чем капитализм не может реально работать. Представьте себе, если бы мы могли продублировать физические объекты, но вам нужно было бы платить за каждую таблетку аспирина, которую вы дублируете, потому что молекула кем-то «принадлежит». Это может иметь очень мало смысла. Теперь подумайте о копировании чистой, чистой воды (которая однажды станет дорогой): считаете ли вы, что этично и философски правильно заставить людей платить за такие вещи?

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

Возьмите iOS, Windows Phone, Symbian и Android: 75% делают то же самое, что означает почти те же «колеса». Это просто разные вкусы, но, в конце концов, много денег было потрачено, потому что компании хотели выжить в соответствии со своими идеалами.

Открытый исходный код не просто политический, он также связан с инновациями: как вы хотите воплотить реальность в новую идею, если вам приходится перезапускать все с нуля снова и снова?


0

То, что делает свободное / открытое программное обеспечение, - это установление базового уровня: если ваша компания не может произвести ничего лучше, чем альтернатива F / OS, она не сможет продать много копий. Если ваша компания может предложить что-то значительно лучшее, чем F / OS, она сможет продавать копии и получать прибыль. Таким образом, одно из применений заключается в том, что это снижает возможности компаний, продавая плохое программное обеспечение.

Это также снижает барьеры входа. Любой, кто имеет наполовину современный настольный компьютер или ноутбук, может, не тратя ни копейки на лицензии на программное обеспечение, иметь очень функциональную ОС с простым в использовании графическим интерфейсом и отличной средой разработки (многие считают, что MS Windows с Visual Studio лучше, чем эта вроде среды, и много, кто этого не делает).

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

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

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

Разработчики, которые очень хороши, но не предпринимательского типа, все равно преуспеют с компаниями, которые продают хорошее качество не-F / OS коммерческого программного обеспечения. Рынок, основанный на деньгах, более эффективен в удовлетворении множества потребностей, чем репутационный рынок F / OSS, и намного лучше в производстве скучных необходимых вещей. Существует множество жизненно важных приложений, которых большинство разработчиков F / OSS избегают.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.