сряда, 29 юни 2011 г.

"Free" as in "For all"


Може и да изглежда смешно да пиша няк'ви дълбоки мисли за отворения софтуер. Фен съм му, разбира се, при това голям, но опитът ми е доста оскъден, предимно потребителски. След края на сесията мисля да впрегна чичо гугъл в търсене на нещо, към което да мога да допринасям, всяка идея съм готов да посрещна радушно и да обмисля обстойно. :)
Идеята ми е да си кажа защо ми е на сърце отвореното кодене. Един голям довод на хората, които не го харесват е че зад колективната отговорност се крие колективна безотговорност. Това е така в огромна част от случаите, но тук е някак си неприложима максима. Колективната отговорност е параван зад който да се скрият хора принудени да носят някаква отговорнст за нещо. Дали причината ш'а е, че така могат да изкарат някой лев или поради някакъв друг вид задължение, често пъти зад обществата от неперсонифицирани отговорни лица всъщност седят предимно незаинтересовани и безотговорни люде.
При отворения софтуер е точно обратното обаче. И в това няма магия, даже е излючително логично и естествено. Всеки впрегнал се в редиците на някой opensource проект гое направил, не за да изкарва пари или да покрие някоя своя отговорност към някого. Всеки ангажиран в подобно начинание го прави не по задължение, а заради някакво вътрешно желание. Никой не прави любимите си неща през пръсти, това с пълна сила важи за програмистите. Отвореният код в тоя (леко разпилян) ред на мисли е една изключително сериозна гаранция за качество.
Съвремието ни предлага хубави примери. В последно време се захванах по-активно да чета обяви за работа, че ме хвана срам на моите години в трудовата ми книжка да няма нищо смислено. Открих, че има сериозно търсене ан хора запознати с Linux. И не иде реч за администратори, хора които да поддържат сървъри и прочее типично Linux-ски поприща от край време. Немалко фирми търсят хора, които са готови да вършат ежедневната си работа използвайки Linux на десктоп машината си. Т.е. IT фирмите в България започват да тръгват по тоя път, макар и бавно и страхливо. Друг факт е, че повечето от най-популярните смартфони в момента използват една отворена платформа надстроена върху линукс ядро. Все по-сериозно на мобилния пазар се ползват open source операционни системи.
'Сичко добре, но съм убеден, че много малко хора биха били съгласни да вярват на добрите намерения на някого, защото да приемете, че отворения код гарантира качество заради ентусиазма и добронамереността на творящите го си е точно това. Обаче тук идва и моментът, че освен желанието и честолюбието, което подтиква всеки занимаващ се с отворен код да пише не просто работещи неща, а добре работещи неща, го има и елемнтът на показност.
Ако пишете нещо, което ще бъде компилирано, обфускирано, криптирано и намазано с майонеза за цвят, вианги можете да си позволите тук-там да кръшнете от правия път. Стига да работи, какво като е грозно... Факт е, че повечето програмисти не гледат с добро око на клиентите и при всяка удобна възможност биха свършили работата си по мързеливия, грозен начин... ама колкото да работи. Никой няма да види кода в крайна сметка, само те ще си го знаят.
Open source ентусиастите нямат това 'удобство'. Те пишат за удоволствие, за да научат нещо ново, за да са полезни. Но всичко, което напишат може да бъде видяно, анализирано и оценено от всеки. Докато затвореният код създава монолитни изпълними последователности от байтове, то отвореният се възприема много повече като учебен материял, като показно, ако щете като фуклявщина на написалия го, че даже защо не и като вид изкуство. По общо разбиране програмирането е индустрия, обикновено виждано като по-близко до начина на работа на поточната линия. Хората занимаващи се с отворен код обаче(може би понякога на ръба на менталното здраве :D) виждат работата си от части и като изкуство. И както никой уважаващ себе си художник не би изложил в галерия своя картина, ако я смята за грозна или безидейна, така и никой уважаващ себе си програмист не би показал пред света свой код, ако не е сигурен, че той е добър. И в двете опоменати преди малко поприща разбира се 'добър' е много сложно за дефиниране понятие, но това не умаловажава факта, че когато показваш на света цялата си работа, а не само някои странични ефекти от нея това те кара да се впрегнеш повече в нея.
Човек може да научи много от open source обществото и като философия и в чисто буквалния смисъл като общодостъпна информация и огромен запас от показни на всякакви тематики. Приложения с отворен код има в абсолютно всяка сфера, в която има и затворени такива, готови не само за изпозване, но и за изучаване, разширяване и подобряване.

Моята скромна надежда е че с времето обществото постепенно ще пренастрои възприятията си към една организация, в която отвореният код е нормалния начин за създаваен на софтуер, а пари се изкарват от специализация и детайлна поддръжка на този софтуер, където е нужно и където има кой да плаща.

Now what... (опит за пролог... в литературния смисъл на думата!)

Няколко месеца вече ме мъчи една голяма дилема, дали от грандомания, дали от желание за развитие и комуникация със сходно мислещи(и предимно надежда за откриване на по-добре мислещи, от които да открадна някоя умна мисъл) много ми се искаше да почна блог на кодинг тематика.
Като цяло все още мисля, че човек трябва да има повечко опит, за да се захване с т'ва, но пък аз се считам за природно интелигентен човек и току-виж се оказало, че и с минималня си опит мога да скалъпя нещо що-годе прилично, което да има ползотворен ефект над някого и да е полезно за човечеството поне малко.

И тъй... мечка - страх, мен - не страх... както и да звучи т'ва казано точно от мен...
Ей го (в) на моят кодинг блог... Наслаждавайте му се и не се срамете да ме хвалите, а още по-малко се срамете да ме хулите, щото от хулите най-много се учи човек.