азработка софта с открытыми исходниками

Слово «софт»(от англ. software) применительно к компьютерам используется для обозначения программного обеспечения. В зависимости от того, открыты исходники или нет, программное обеспечение бывает открытым и свободным. Два этих понятия хотя и близки друг к другу, однако не стоит их отождествлять.

Open Source Software Logo Исходный код открытого ПО открыт, то есть доступен для просмотра, изменения и других действий. Это позволяет обеспечить доступ к самым современным технологиям практически всех людей, которые могут оценить алгоритмы, структуру кода, принципы работы тех или иных механизмов программного обеспечения. Также одни программисты могут помочь в разработке программного обеспечения, улучшении качества программы.

Открытость самих исходников не свидетельствует о бесплатности программы, лицензия на открытое ПО тоже может оцениваться деньгами. Но обычно такое программное обеспечение является бесплатным.

Обычно открытое программное обеспечение может быть свободным и, в свою очередь, свободное программное обеспечение – открытым. Понятия свободное и открытое ПО схожи и большинство лицензий для такого типа программ соответствуют обоим. Тут отличие состоит в приоритетах.
Разработчики открытого софта говорят, что открытость исходников это наиболее эффективный метод разработки, позволяющий улучшить качество программы за счёт привлечения других "незанятых" программистов.
В свою очередь, сторонники свободного программного обеспечения считают, что именно сами по себе права на распространение, модификацию и изучение программ являются главным достоинством свободного программного обеспечения.

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

Разработка софта с открытыми исходниками

Слово «софт»(от англ. software) применительно к компьютерам используется для обозначения программного обеспечения. В зависимости от того, открыты исходники или нет, программное обеспечение бывает открытым и свободным. Два этих понятия хотя и близки друг к другу, однако не стоит их отождествлять.

Open Source Software Logo Исходный код открытого ПО открыт, то есть доступен для просмотра, изменения и других действий. Это позволяет обеспечить доступ к самым современным технологиям практически всех людей, которые могут оценить алгоритмы, структуру кода, принципы работы тех или иных механизмов программного обеспечения. Также одни программисты могут помочь в разработке программного обеспечения, улучшении качества программы.

Открытость самих исходников не свидетельствует о бесплатности программы, лицензия на открытое ПО тоже может оцениваться деньгами. Но обычно такое программное обеспечение является бесплатным.

Обычно открытое программное обеспечение может быть свободным и, в свою очередь, свободное программное обеспечение – открытым. Понятия свободное и открытое ПО схожи и большинство лицензий для такого типа программ соответствуют обоим. Тут отличие состоит в приоритетах.
Разработчики открытого софта говорят, что открытость исходников это наиболее эффективный метод разработки, позволяющий улучшить качество программы за счёт привлечения других "незанятых" программистов.
В свою очередь, сторонники свободного программного обеспечения считают, что именно сами по себе права на распространение, модификацию и изучение программ являются главным достоинством свободного программного обеспечения.

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

Практика разработки программного обеспечения.

Хорошая практика разработки ПО подразумевает большой организованный процесс слаженной работы программистов, архитекторов, руководителей подразделений, тестировщиков ПО.
Разработка программного обеспечения.

Разработка ПО производится согласно стандартам ГОСТ "Единая система программной документации":

Разработка ТЗ.
Наименование, назначение ПО.
Требования к функциональным характеристикам разрабатываемого ПО, а также требования к надёжности.
Условия эксплуатации: требования к квалификации и численности персонала, требования к составу и параметрам технических средств, требования к информационной и программной совместимости (к информационным структурам и методам решения, к исходным кодам и языкам программирования, к программным средствам, используемым программой, к защите информации и программ).
Требования к программной документации (предварительный состав программной документации: ТЗ, программа и методики испытаний, руководство оператора).
Технико-экономические показатели.
Стадии и этапы разработки: разработка технического задания, рабочее проектирование (разработка программы, разработка программной документации, испытания программы), внедрение.
Разработка ПО и его отладка.
Разработка руководства пользователя и системного администратора.
Испытания программного обеспечения.
Внедрение ПО на объектах Заказчика.

Управление программной документацией при разработке ПО.

На всём этапе разработки программного обеспечения проводится работа по созданию и управлению программной документацией на него, включающая следующие пункты:

Разработка ТЗ. Техническое задание на разработку ПО пишется согласно ГОСТ "Единая система программной документации".
Написание программы. Разработка ПО проводится согласно требованиям, изложенным в руководстве программиста предприятия, что позволяет обеспечить высокий уровень преёмственности проектов. На всём этапе написания исходного кода на предприятии используется хранилище кода на отказоустойчивом сервере, что позволяет обеспечить его сохранность, проконтролировать объём выполненных работ, обеспечить контроль версий и их отслеживание. При каждом внесении изменений программисты добавляют комментарии о выполненной работе над исходными файлами, что потом используется при составлении программной документации, руководств пользователя или системного администратора.
Внесение изменений в исходный код в процессе работы может производить каждый программист, наделённый такими полномочиями.
Внесение изменений проводится в соответствии с требованиями, регламентированными в ГОСТ ЕСПД "Общие правила внесения изменений", а также в ГОСТ "Правила внесения изменений в программные документы, выполненные печатным способом".
Испытания ПО проводятся на тестовых наборах данных и в реальных условиях при подготовке ПО к внедрению.
Эксплуатационные документы пишутся с самого начала разработки ПО, что позволяет избежать недокументированных функций. Каждый программист пишет свою часть документации, которая затем проверяется на единство стилевого оформления документов ответственным программистом. Вся документация также хранится в хранилище кода, что позволяет осуществить контроль версий программной документации. Эти документы содержат сведения для обеспечения функционирования и эксплуатации программы.
Программа и методика испытаний проводятся в соответствии с требованиями, изложенными в ТЗ – это прежде всего требования, подлежащие проверке при испытании программы, а также порядок и методы их контроля.
По всем разработанным документам составляется спецификация – состав программы и документации на нее.

Post has attachment
В этой статье я хочу описать свой опыт работы на фрилансе.
Что за фриланс?

Может быть есть люди, которые не знают, что такое фриланс? "Freelance" буквально переводится как "внештатно", соответственно "freelancer" — "внештатный сотрудник". Обычно это подразумевает поиск заказов через интернет, выполнение их дома за компьютером (хотя некоторые ловко трудятся во время основной работы :) ) и оплату выполненной работы через интернет. Существуют специальные сайты — фриланс-биржы — на которых происходит общение заказчиков, имеющих какие-либо задания, и исполнителей, готовых эти задания выполнить.

А зачем это нужно?

Наверное каждый программист замечал, что работая постоянно, у него не хватает времени заниматься какими-то своими проектами. А различные идеи периодически приходят, и думаешь: "Вот было бы время, обязательно бы это реализовал". Да и на работе бывают времена, что приходится заниматься неинтересными делами. Тем более в мои планы не входило всю жизнь работать "на дядю", рано или поздно пришлось бы уходить на вольные хлеба, и во время особо скучного периода на тогдашней постоянной работе я и решил это сделать.

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

Фриланс-бирж существует множество, как российских, так и зарубежных, в итоге я зарегистрировался на трех — freelancer.com, free-lance.ru и weblancer.net.

freelancer.com я выбрал, так как прочитал довольно интересную статью, описывающую прелесть работы на ней. Здесь я решил представиться веб-студией, по идее такой подход вызывает больше доверия у заказчиков, придумал "конторе" название, сделал простенький логотип, зарегистрировался и начал осматриваться.
Если описать в общем, сайт представляет собой типичную фриланс-биржу - страницы разделов по возможным IT-работам, например создание сайтов "под ключ", создание дизайнов, работа с различными CMS, написание скриптов, системное администрирование и т.д. Заказчик выбирает нужный ему раздел, создает проект, на который откликаются заинтересовавшиеся фрилансеры.

На freelancer.com ищут заказы очень много фрилансеров, среди которых немало выходцев из Азии. Качество работы большинства этих товарищей, как и знание английского языка, оставляет желать лучшего (кто не слышал про программистов-индусов :) ), но они берут ценами, иногда демпинг с их стороны вызывает даже не недоумение, а смех. Вполне реально найти "исполнителя" на сложный специфичный портал за сумму например 100$ и сроком исполнения 3 дня. И это предложение еще могут перебить!
Естественно, есть и мастера своего дела, с высочайшим профессионализмом, большим опытом и умением подойти к клиенту.

К сожалению, на этом сайте мне так и не удалось получить ни одного заказа, наверное из-за окончательной переориентации на отечественный рынок. Свою роль сыграли и не очень удовлетворительный английский, и разница во времени с многими заказчиками.

Российские биржи, на которых я зарегистрировался — free-lance.ru и weblancer.net. free-lance.ru - самая известная из отечественных, держит первенство по количеству проектов и активных фрилансеров. Содержит много платных услуг, жизнь без которых затруднена, например не имея pro-аккаунта можно подавать только три заявки на понравившиеся проекты в сутки. Но таким ограничением страдают все биржи, которые я встречал. Впрочем это мне не очень мешало, с первых дней мне хотелось насладится преимуществом выбора интересных заданий. К сожалению, появлялись они не так часто, как хотелось бы, а при подаче заявки меня всегда обходили более опытные исполнители, с отзывами и более долгим временем нахождения на сайте.

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

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

Но вот первый проект получен, наконец-то меня выбрали исполнителем! Обсудив все детали задания, пора начинать работать! Но, что все не так просто, стало понятно через пару проектов. ТЗ и детали нужно обговаривать ОЧЕНЬ подробно, выясняя все до последних мелочей, иначе дорабатывать и изменять казалось бы незначительные и неважные детали и наводить красоту по вкусу заказчика можно вечно, либо, неправильно поняв суть задания, вообще выбрать неверный путь решения задачи. Был случай, когда недели две работы потратились впустую из-за непонимания и несогласованности между мной и заказчиком, в итоге я потерял деньги, а клиент время, хорошо, что в результате разошлись мирно, без написания отритцательных отзывов друг другу.

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

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

Также не стоит забывать про свои задумки, отводить какое-то время на них, даже если пока ни одна из них еще не приносит какой-либо ощутимой отдачи, ведь это только пока :) Главное, что для них находится время.
Ожидания и реальность

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

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

По поводу рабочего времени происходило примерно так, как я и думал: то работы нет, то работать приходится по ночам, не говоря уже про выходные. Если на постоянной работе знаешь, что в субботу-воскресенье отдыхаешь, на фрилансе все смешивается и иногда удивляешься радости друзей о том, что завтра выходной.
Можно безболезненно с утра покататься на велосипеде, посреди рабочего дня прерваться, например, на гантели или прогулку (это если нет срочной работы, конечно :D ).

Волнующий денежный вопрос. Честно говоря, когда я уходил на фриланс, то ожидал, что буду зарабатывать больше. Очень сложно назвать среднюю сумму заработка, в первые месяцы у меня выходило не более 10-15 тысяч ежемесячно.
Итого

Что же в итоге? Не жалею ли я о том, что ушел с постоянной работы на фриланс? Нет.
Сейчас я частично (5 часов в день) работаю в офисе на постоянной работе, которая нашла меня через фриланс, остальное время практически полностью посвящаю своим делам, лишь иногда откликаясь на работу от постоянных заказчиков, приобретенных на фрилансе.

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

Post has attachment
На чем писать программы?
(краткий обзор возможностей языков программирования)
Wait while more posts are being loaded