Това пък 'да си го вземеш от друга програмка' ми звучи доста забавно, като се има предвид, че е почти невъзможно да си напълно запознат със структурата на другото приложение, да не е свободен, а само отворен код; не е професионално да смесваш конвенциите - както вероятно ще се случи с разбивката на кода и именоването на класове, методи и променливи; coupling- ът може да е прекалено силен за взаимстване- изобщо дълга и рошава, дет' се вика. За скриптче от 10 класа и общо 1000 реда код може и да върши работа.

Преди 2 години ми се наложи да избирам между 2 технологии - майкрософтка и такава с отворен код. Факт е, че тогава се насочих към open source средите, а в момента работим в един офис колеги, разработващи и с двете платформи. В общи линии ежедневно има 'ей, това изобщо не сте го написали добре' или 'брех, при нас това не може да се направи'

В над 90% от случаите съм ЗА продуктите с отворен код - без ангажименти към незнайни комерсиални продукти; разработка от хора от целия свят, които имат желание да помогнат на даден продукт; по- голяма надеждност откъм използване на материалите. Особено полезен е моментът с използването на отворени frameworks и toolkits за писане на софтуер. Ако използваме .NET платформата, нямаме идея как са реализирани нещата 'отдолу' - само се надяваме те да са достатъчно добре написани, за да ни вършат качествена работа. Дебъгването на Java приложение в общи линии може да обходи абсолютно всяка стъпка, като проблемни моменти може да са RMI дебъгване или работата на самия сървър, което на места може да бъде решено, а и не ни е работа. Вижда се имплементацията на виртуалната машина, на самите инструменти за работа, които използваме. Пример са ORM технологията Hibernate или новият toolkit на Google - GWT. Повечето среди за разработка позволяват прикачането на кода на технологията към проекта, така че документацията и коментарите да са видими наред със самия код. Често ЦЕЛИЯТ подход към проекта се променя, когато видим как, аджеба, работи отдолу самият проект - ценни неща, които биха ни загубили и седмици, ако нямаме достъп до кода и не знаем защо нещата не работят, използвайки типичните стратегии. Така че това определено е priceless.
Другото, все пак, е reusing- а: трябваха ни компоненти, които нямаше в средата, така че взехме вече съществуващи, разширихме ги с дадена функционалност, вързахме ги с по 2-3 примера и ги commit- нахме на open-source общността за свободно ползване от други хора, които имат такъв проблем и не желаем те да губят времето, което на нас е отнело писането на компонентите.

Това ни позволява и да използваме техните добри практики за разбивка на елементите и обработката на събития.
Все неща, които са един гигантски плюс в разработката на софтуер. Когато Microsoft е конкурентът, често те имат по- голяма функционалност с техните продукти - във фирмата се наливат невероятно много пари, екипите са по- големи и са измъкнати невероятни мозъци от целия свят. Тук има 3 неща:
-не само майкрософт са голям комерсиален опонент
-все пак зад много OS среди стоят спонсори от сорта на IBM
-понякога OS продуктите надминават затворените, а дори и да не е така - понякога си заслужава да жертваш дадена функционалност за работа с отворен продукт
Работата с продукти с отворен код ме притеснява при използване на уеб продукти или такива, свързани с финансови транзакции - OS софтуера често е силно таргетиран, а видимият му код го прави по- лесно разгадаем за нападатели, което намалява и нивото му на сигурност (става въпрос за CMS системи, фреймуърци за банкови транзакции и т.н.). Сега например започвам собствен проект, базиран на познати и често срещани технологии - CMS и BLOG системи, като идеята ми е да е изцяло мой - позната разработка - и да намаля използването на готови експлойти от разни script kiddies, таргетирани върху портала. Естествено, имам и доста по- важни причини, но те не са важни в случая.
Като цяло наличието на open source е едно от най- ценните неща в Мрежата, така че винаги е добре да се възползваме от него, когато можем. Вече много европейски правителства минаха на продукти с отворен код, с което спестиха милиони и мигрираха към по- сигурен софтуер. Ако пиратството не бе толкова развито в България, вероятно и тук щяха да плъзнат много повече системи с Linux и Open Office - най- използваните продукти от офис потребителите, а и едни от най- скъпите такива Microsoft еквиваленти
