Як молодий студент, який прагне мати кар'єру програміста, як я повинен почуватися щодо програмного забезпечення з відкритим кодом? [зачинено]


17

Час від часу на деяких веб-сайтах із технологіями з’являється такий заголовок: http://www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four -мільярд

Моя початкова думка про те, що уряд та організації переходять на програмне забезпечення з відкритим кодом, - це те, що багато програмістів втратять роботу, а галузь скоротиться. У той же час, як видається, поширення та використання програм із відкритим кодом сильно заохочується у багатьох програмних спільнотах.

Чи моє думка, що повне охоплення програмного забезпечення з відкритим кодом скрізь зашкодить індустрії програмного забезпечення помилковим уявленням? Якщо це не так, то чому так багато програмістів люблять програмне забезпечення з відкритим кодом?


4
Якщо ви вважаєте, що стратегія з відкритим кодом означає звільнення, то прочитайте "Стратегічний лист V" Джоела Спольського. joelonsoftware.com/articles/StrategyLetterV.html
user16764

Відповіді:


26

Тільки тому, що проект є відкритим кодом, це не означає, що програмісти не заробляють на це гроші. Уряди та компанії жертвують великі гроші на такі фонди, як мозіла та апаш.

Також майте на увазі, що компанії повинні найняти програмістів для МОДИФІКАЦІЇ проекту з відкритим кодом, щоб налаштувати його під свій бізнес. Компанії не можуть використовувати інструменти на полицях для всього. Це те, що неможливо зробити із програмним забезпеченням із закритим кодом, тому це приклад того, як можна відкрити нові можливості для програмування. Йдеться не про те, щоб усунути програмістів чи не заплатити їм, а про перестановку структури, щоб, сподіваємось, зробити ефективнішими, щоб у нас було більше часу на НОВІ проекти.

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


Люди, які працюють над основними проектами, також ідеально підходять для роботи з персоналізацією через те, що вони вже знають про внутрішні проекти.
Метью Шарлі

Цікаво, як Стіву Стрітінгу (засновнику проекту 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% нудна бурхлива робота. Кандидати, яких ми найняли, які брали участь у проектах з відкритим кодом, не хотіли робити нудну бурхливу роботу, необхідну для створення професійних рішень щодо якості.
біт-трейдлер

6
@ Біт-нероба: Звичайно, хто - то повинен робити нудні частини в проектах з відкритим вихідним кодом теж
Anto

1
@Anto: проблема полягає в тому, що нудні деталі часто не виконуються на проектах з відкритим кодом. Наприклад, одним із атрибутів, що відрізняє високоякісну комерційну продукцію від своїх програмних програм із відкритим кодом, є документація. Документація навіть на найуспішніші проекти з відкритим кодом зближується з документацією успішних комерційних продуктів. Відсутність належної документації спричиняє вивчення продуктів з відкритим кодом головним болем. Мені не заплачено збирати та розшифровувати погано написану документацію. Мені платять за отримання результатів.
біт-twiddler

@ bit-twiddler: Тож очікується, що ваші програмісти також виставлять добре написану документацію? Хіба не дешевше найняти технічних авторів, і вони, як правило, не дають кращого продукту?
Девід Торнлі

1
@David Thornley: Так, очікується, що всі співробітники з розробки зможуть добре писати на додаток до того, що вони будуть грамотними розробниками програмного забезпечення для повного життєвого циклу (тобто, у нас немає персоналу, який працює лише з кодом). Ніхто не знає продукт краще, ніж команда проектування та впровадження. Нашому єдиному технічному письменнику покладено завдання координувати та масажувати доступну документацію.
біт-трейдлер

1

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

Він абсолютно доповнює консалтинговий та сервісний бізнес, оскільки знижує загальну собівартість продукції та підвищує продуктивність їх розробників. Компаніям подобається це з тих же причин, хоча деякі наполягають на тому, щоб знайти продавців, щоб вони надавали комерційну підтримку, щоб було кому зателефонувати / звинуватити, якщо це не виправдає очікувань.


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

2
Відкритий код - це загроза точно так само, як конкурент - це загроза. Якщо база даних Oracle (саме те, що ви називаєте її сьогодні?) Буде значно кращою, ніж, скажімо, PostgreSQL, вони зможуть її продати. Якщо це не так, то за що, до біса, ми повинні платити Oracle?
Девід Торнлі

1

Найбільші ризики ...

  • Нестабільність: велика частина ОСС розробляється в шпорах. Існують видатні проекти, стабільні випуски з меншими знаннями, але оскільки всесвіт OSS настільки розбіжна і роздроблена в багатьох областях (і постійно розвивається), рідко проект може стати досить зрілим, щоб сказати, що розвиток буде регулярним, невизначеним, або вічний. Змінення середнього курсу курсу є дорогим, навіть якщо продукт безкоштовний, оскільки інтеграція, регресія та практична або негайна підтримка не є безкоштовними, навіть якщо вони доступні.

  • Відсутність відповідальності: нікого не «інвестували», тому важко шукати регресу, коли трапляються погані речі. Гарантії немає. Нічого, що навіть нагадує одне. Єдине запевнення у вас, як правило, - це репутація та врешті-решт ваш особистий досвід. Оскільки це було безкоштовно, розробники можуть сказати вам, щоб вийшли з пожежі, і не потурбувались про свій брак успіху, або що менш важливо, якщо ви продовжуєте користуватися їх продуктом.


2
І чим це відрізняється від комерційного, фірмового програмного забезпечення із закритим кодом? Власник завжди може вирішити піти в іншому напрямку, і єдиний загальний продукт, про який я коли-небудь чув з гідною впевненістю, є TurboTax.
Девід Торнлі

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

1

Застосуйте інструменти та інше для ОС, але не захоплюйтесь ними (і так, я бачив, як багато людей одержимі матеріалами з відкритим кодом, майже завжди на їх шкоду).

Виберіть та оберіть найкращі інструменти для кожної роботи, незалежно від того, відкриті вони чи ні (зауважте, деякі ліцензії з відкритим кодом роблять що-небудь ліцензоване під них марним для комерційної роботи, особливо від цього страждають бібліотеки, що мають ліцензію GPL).


1

Більшість сучасних програмного забезпечення з відкритим кодом розробляються штатними працівниками, які в основному платять за його розробку. Решта розробляються тими, хто платить за те, що вони роблять щось, що залежить від програмного забезпечення, яке вони розробляють, і спільна робота над ним, натовп підтримки та обслуговування є абсолютно обов'язковою для них.


1

Переважна більшість програмістів не отримують плату за копію, розповсюджувану створене ними програмне забезпечення. Їм виплачують одноразову плату за витрачений час. Навіть компанії, які працюють програмістами, як правило, не заробляють гроші за продану копію. За кількома помітними винятками, такими як Microsoft та Adobe, програмне забезпечення, як правило, є частиною їхньої інфраструктури, як-от веб-сайт компанії чи внутрішні інструменти, або передається як частина іншого продукту чи послуги.

Інші зазначають, що більшість основних учасників з відкритим кодом мають корпоративних спонсорів. З боку любителів мені здається цікавим, що люди завжди зосереджуються на тому, що дається замість отриманого. Це як електрик, який отримує всі компоненти будинку безкоштовно, вже зібрані, за винятком деяких поліпшень електропроводки, які він робить сам, і люди вважають його божевільним, якщо він витрачає кілька годин на вихідні, навчаючи інших робити ті самі покращення для інших будинків, які отримали та сама угода. Звичайно, він віддає частину свого часу та досвіду безкоштовно, але взамін отримує чудовий продукт, вартий у кілька разів більше роботи, який він вкладає, та забезпечує здорову екосистему, коли наступного разу йому щось потрібно.


0

Як ви повинні почуватись? Добре горе, далі ви запитаєте "як я розмовляю з жінками". Відкритий код ніколи не замінить, але невелику частину оплачуваного ПЗ. Для більшості організацій збільшені витрати на перехід від того, що вони вже знають, до чогось іншого, навіть безкоштовного, більше, ніж витрати на ПЗ.


0

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

Подумайте про це таким чином, якщо існує вже зріле рішення з відкритим кодом для вашої проблеми, яка вже існує там і використовується багатьма людьми, чи є сенс потопати у великій кількості готівки за те, що не може бути настільки зрілим, як це ? Її просто ефективніше використовувати. Йдеться не про збереження робочих місць (як я вже говорив, програмістам завжди буде потреба), а простий діловий сенс, що ще важливіше, коли гроші його платники податків. Відхилення відкритого коду в ім'я збереження робочих місць - це лише створення штучного середовища, обмеження спільного використання технологій та ІМХО, як правило, шкідливих для здоров’я програмної спільноти.


0

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

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


0

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

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

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

Я дійсно вважаю, що ваш аргумент "тонни програмістів втратять роботу, а галузь зменшиться" дуже вводять в оману не лише щодо галузі програмного забезпечення, але і для світу загалом. Запам’ятайте веб-бульбашку: легко обдурити людей, які не програмують, у компанії. Відкритий код - безпечний спосіб поставити бар'єр на шляху до цього.

Ви також повинні думати, що програмне забезпечення не схоже на багато інших галузей: ви доставляєте щось нестабільне, з чим капіталізм реально не може працювати. Уявіть собі, якби нам вдалося дублювати фізичні об'єкти, але вам потрібно було б заплатити за кожну таблетку аспірину, яку ви дублюєте, тому що молекула є кимось "власником" когось. Це може мати дуже мало сенсу. Тепер подумайте про копіювання чистої, чистої води (яка одного дня стане дорогою): чи вважаєте ви, що етично та філософськи правильно змусити людей платити за таке?

Якщо програмісти втрачають роботу через відкритий код, це може бути тому, що вони просто не в змозі відтворити таку ж якість програмного забезпечення, тож певним чином вони заслуговують звільнення. Але це не означає, що вони повинні мати менше програмістів, які мають роботу: це лише питання спільноти, роботи в команді та етики: компанії повинні платити програмістам або за впровадження рішень за допомогою наявного програмного забезпечення, або ж, найняти більш компетентних програмістів, які можуть додавати функції для існуючого коду.

Візьміть iOS, телефон Windows, 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.