Постаните програмер отвореног софтвера

Аутор: Morris Wright
Датум Стварања: 24 Април 2021
Ажурирати Датум: 1 Јули 2024
Anonim
Продуктивная музыка - максимальная эффективность для создателей, программистов, дизайнеров
Видео: Продуктивная музыка - максимальная эффективность для создателей, программистов, дизайнеров

Садржај

Писање и коришћење отвореног софтвера није само облик програмирања (који се у свету програмера назива и „хаковање“), то је нека врста филозофије. Иако требате знати програмски језик само да бисте могли кодирати, овај чланак говори о томе како се придружити заједници, стећи пријатеље, сарађивати на сјајним пројектима и постати цењени стручњак са профилом који не можете добити другде. У свету отвореног софтвера могу вам се прилично лако доделити задаци које у компанији смеју да раде само елитни програмери највишег нивоа. Размислите колико вам ово може донети искуства. Међутим, након што одлучите да постанете отворени програмер, морате бити спремни да уложите време у овај циљ. Ово важи и ако сте студент ИТ. Пазите, овај чланак не говори о томе како постати хакер или крекер.

На корак

  1. Преузмите добру Уник дистрибуцију. ГНУ / Линук је један од најпопуларнијих за програмирање, али се такође често користе ГНУ Хурд, БСД, Соларис и (у одређеној мери) Мац ОС Кс.
  2. Научите како се користи командна линија. Можете користити много више са оперативним системима сличним Унику ако користите командну линију.
  3. Научите неке популарне програмске језике док не достигнете мање или више задовољавајући ниво. У супротном, не можете да додате код (најважнији део било ког софтверског пројекта) отвореној софтверској заједници. Неки извори предлажу да се започне са два језика одједном: једним системским језиком (Ц, Јава или слично) и скриптним језиком (Питхон, Руби, Перл или слично).
  4. Да бисте били продуктивнији, требају вам НетБеанс или слично интегрисано развојно окружење.
  5. Научите да користите напредни уређивач, као што су ви или Емацс. Они имају вишу криву учења, али с њима можете учинити много више.
  6. Сазнајте више о контроли верзија. Контрола верзија је вероватно најважнији алат у сарадњи за заједнички развој софтвера. Разумејте како да креирате и примените закрпе. Већина отвореног развоја софтвера у заједници врши се стварањем, дискусијом и применом различитих закрпа.
  7. Пронађите одговарајући мали отворени софтверски пројекат у којем можете лако учествовати да бисте стекли искуство. Већина таквих пројеката може се наћи на СоурцеФорге.нет ових дана. Погодан пројекат треба да садржи:
    1. Користите програмски језик који знате.
    2. Будите активни са недавним издањима.
    3. Већ се састоји од три до пет програмера.
    4. Да бисте користили контролу верзија.
    5. Имајте део са којим можете одмах да започнете, а да не морате превише да мењате постојећи код.
    6. Поред кода, добар пројекат такође има активне листе за дискусију, извештаје о грешкама, добија и примењује захтеве за побољшање и сличне активности.
  8. Контактирајте администратора изабраног пројекта. У малом пројекту са мало програмера, ваша помоћ ће обично бити прихваћена одмах.
  9. Пажљиво прочитајте правила пројекта и мање-више их следите. Правила стила програмирања или потреба за документовањем ваших промена у засебној текстуалној датотеци у почетку могу изгледати смешно. Међутим, сврха ових правила је да омогуће заједнички рад - и већина пројеката ради са њима.
  10. Радите на овом пројекту неколико месеци. Пажљиво слушајте шта администратор и други чланови пројекта имају да кажу. Поред програмирања, морате научити још много тога. Али ако вам се нешто заиста не свиђа, једноставно зауставите се и пређите на други пројекат.
  11. Не заглави се у подземном пројекту предуго. Једном када се нађете у могућности да успешно радите у том тиму, време је да почнете да тражите нешто озбиљније.
  12. Потражите озбиљни отворени софтвер на високом нивоу или пројекат отвореног кода. Већина таквих пројеката је у власништву организација ГНУ или Апацхе.
  13. Будући да овде правимо озбиљан корак, морате узети у обзир много мање топао пријем. Највероватније ће се од вас тражити да први пут покренете систем без директног приступа писању у спремиште кода. Међутим, претходни подземни пројекат требало је да вас научи много - тако да након неколико месеци продуктивног доприноса можете да захтевате права која мислите да бисте требали да имате.
  14. Прихватите озбиљан задатак и разрадите га. Време је. Не бој се. Наставите чак и ако откријете да је задатак много тежи него што сте у почетку мислили - у овом кораку је важно да не одустанете.
  15. Ако можете, пријавите се Гоогле-овом „Суммер оф Цоде“ да уложите новац у ову авантуру. Али не брините ако пријава не буде прихваћена, јер имају много мање финансираних позиција него што има заиста добрих програмера.
  16. Пронађите одговарајућу конференцију која се одржава у близини („Линук дани“ или слично) и покушајте да тамо представите свој пројекат (цео пројекати не само део који програмирате). Након што споменете да представљате озбиљан бесплатни / отворени изворни пројекат, организатори ће вас често обештетити од котизације (ако не, конференција ће ионако вероватно бити неприкладна). Понесите Линук лаптоп (ако га имате) и покрените неколико демонстрација. Питајте менаџера пројекта о материјалима које можете користити за припрему презентације или постера.
  17. Потражите на интернету обавештења о оближњем инсталацијском догађају и покушајте прво да учествујете као корисник (забележите све проблеме који се појаве и како их хакери поправљају) и понудите да следећи пут инсталирате програме.
  18. Довршите задатак, проверите свој рад аутоматским тестовима и допринесите пројекту. Ти си готов! Да бисте били сигурни, покушајте лично да се упознате са неким програмерима на пројекту и заједно подигнете чашу пива на резултат.
  19. За боље разумевање, погледајте стварни пример историје развоја отвореног софтверског пројекта (види горе). Свака растућа крива представља допринос (линије кода) једног програмера. Програмери са годинама постају мање активни, али пројекат се често убрзава чак и кад се придруже нови људи. Дакле, ако стигнете са корисним вештинама у џепу, нема разлога зашто вас тим не би позвао.

Савети

  • Пре него што поставите питање о практичним захтевима у оквиру пројекта, потражите одговор у пројектној документацији и архиви маилинг листе.
  • Увек покушавајте да завршите било који започети посао програмирања. Не може се изградити, не може се покренути, систем се руши? Ето бити разлоге за све, а ако имате изворни код, то обично значи да имате систем па могу да вас приморају да радите шта год желите, посебно уз помоћ неких онлајн истраживања. Ово правило има ограничења, наравно, али заиста је важно никада не одустати превише лако.
  • Назовите се програмером (или хакером) тек након што вас нека права хакерска заједница препозна као таквог.
  • На почетку одаберите наставу, модул или другу целину у којој тренутно нико не ради врло активно. Заједнички рад на истој класи или чак на положају захтева више вештина и бриге са свих страна.
  • Послодавци неких хакера / програмера изгледају довољно мотивисани да дозволе доприносе током радног времена (обично зато што институција користи бесплатни / отворени програм који програмер развија). Помислите, можда на овај начин можете да добијете барем део потребног времена.
  • Ако и даље немате довољно поверења у себе, крените од неког дела кода за који мислите да недостаје и да га можете написати испочетка. Много је вероватније да ће се критиковати промене постојећег кода.

Упозорења

  • Ваш статус хакера у пројекту заједнице више је одраз ваше садашњости него прошлости.Ако желите препоруку или слично од вође пројекта, питајте да ли и даље активно доприносите.
  • Не упуштајте се у мале оптимизације кода, додатне коментаре, побољшања стила кодирања и друге сличне ствари „малог обима“. Ово може наићи на много више критика него на озбиљан допринос. Уместо тога, можете да укључите ове промене у једну закрпу „чишћења“.
  • Ако планирате да се лично сретнете са отвореним софтверским хакерима, оставите Виндовс лаптоп код куће. Мац ОС се мало толерише, али ни то није баш добродошло. Ако понесете лаптоп, мора да ради под Линуком или неким другим оперативним системом који сматрају „отвореним софтвером“.
  • Ако ваш клијент е-поште подржава ХТМЛ поруке, требали бисте онемогућити ову функцију. Никада не прилажите документе које само комерцијални софтвер (као што је Мицрософт Ворд) може правилно отворити. Хакери ово сматрају увредљивим.
  • Не волонтирајте на пројектима компаније чији код није покривен одобреном лиценцом отвореног кода. У таквим случајевима заиста важни делови пројекта вероватно остају иза затворених врата власника, спречавајући вас да научите било шта корисно.
  • Избегавајте било каква питања о основама програмирања или програмских алата. Време отвореног програмера је драгоцено. Уместо тога, разговарајте о основама програмирања у аматерским или почетничким програмерским групама.
  • Утврђени и изузетно успешни пројекти можда имају написане или неписане смернице о томе да никада не надокнађујете свој рад (нема новца, нема могућности да се промовишете, нема повишеног статуса без обзира на ваш допринос, итд. - погледајте: До_нот_екпецт_ревард Википедиа). Ако се не можете сложити са овим, држите се уобичајенијих пројеката који себи не могу приуштити такав став.
  • Не започињте свој пројекат осим ако увек не желите да проведете у поносној самоћи. Из истог разлога, боље је не упуштати се у покушај оживљавања већ напуштеног пројекта који је његов претходни тим већ изгубио.
  • У случају неформалног састанка о пројекту којем никада нисте допринели, имат ћете непријатан осећај да вас потпуно игноришу. Не брините, неки хакери могу постати добри пријатељи касније након што сте стекли њихово поштовање властитим кодом.
  • Велики отворени софтверски пројекти, посебно они око ГНУ домене, свој посао не третирају као своје лично пословање. Након што добијете посао у компанији која се бави софтвером, они траже од вашег послодавца да потпише одређене уговоре [1], које компанија потписује или неће. То вас може присилити да одаберете пројекат са мање строгим захтевима.

Неопходности

  • Линук. Много отворених софтверских пројеката је сложеније градити на Виндовс-у или се уопште не израђују правилно. Ово се посебно односи на напредне пројекте посвећене програмирању мобилних телефона, УСБ тастера и других уређаја.
  • Рачунар са релативно добром интернет везом. Ако желите да наставите са двоструким покретањем система Виндовс, добро решење може бити други чврсти диск или партиција за Линук.
  • Основно знање бар једног програмског језика и снажна намера да научите више. Изгледа да су тренутно најпопуларнији језици Ц и Јава.
  • Значајан део времена, најмање пет сати недељно (типични хардцоре програмер доприноси огромних 14 сати).
  • Иако ће вам формално информатичко образовање много олакшати пут, то је то не обавезан захтев и ниједна права хакерска заједница вас никада неће питати за то. Програмери / хакери осуђују једни друге према нечијем програмирању, а не према лажним критеријумима као што су оцене, старост, раса или положај. Имајте на уму да најмање 60% хакера отвореног кода који процењују ваше закрпе имају „исправну“ факултетску диплому и неће вам дозволити да пројекту додате глупости.
  • Током последњих корака (конференција и „инсталација странке“) можете да искористите свој сопствени лаптоп. Али није у реду радити на томе код куће, па купите једну само ако си можете приуштити другу машину.
  • Пут који је описан да постане „хакер“ софтвера отвореног кода траје најмање две године.