Pull to refresh
8
0
Дмитрий Тимофеев @blackstrip

Веселый кодер

Send message
Тогда, получается, если бы просто выкладывали исполняемый файл — был бы аналогичный исход. Другие посмотрели как работает, поняли в чем суть, спросили бы «а вот эта фича как делается?» — вы бы ответили им «вот вам исходник мелкой процедуры как она была написана у меня» — и они бы в конечном счете написали свое собственное ПО с похожим функционалом, возможно позаимствовав у вас только эту функцию/ее часть. Это же отлично. Как раз то чего я хочу добиться, закрывая наглухо возможность получения кода целиком.
А я обычно по форумам шарюсь, там везде код разнообразного качества. Но мне нужен обычно пример работы с какой-нибудь конкретной функцией, нашел ее, пару строк скопипастил для проверки себе, остальное пропустил мимо вообще.
habr.com/ru/post/465709/?reply_to=20622803#comment_20623093

Все зависит от моего личного опыта и опыта школоты-опенсорсеров.

Но мой личный опыт полностью определяет весь проект.

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

Есть мультибоксеры, например. Они сразу играют с одного компа кучей персов, обычно в пять дд сразу наносят пятикратный урон. Это я и есть — мультибоксер. Я взял сразу на себя управление всеми членами команды (точнее я и есть все члены команды).

А есть рандом-группы, которые собираются случайно. Там конечно есть танк (жирный дд в случае пвп), хил, несколько дд, они тоже могут бегать впятером. Но если там попадется нормальный танк и хил, одетые опытные дд, объединенные войсчатом, сработавшиеся годами, то они кое-как затащат и может победят в ПВП в открытом мире или на БГ. А если хил отстойный, читай пришел в команду опенсорсер, который присылает как вот тому челу habr.com/ru/post/169339

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


Забавно что и сам лидер пишет с ошибками типа «прийдется» и «разобратся», значит он недалеко ушел от своих бесплатных сотрудников опенсорс-проекта.

Так вот, если хил отстойный, то все сдохнут. Их убьет мультибоксер по одиночке вжаривая каждого. Также как и хитрый одетый рога убьет (или потреплет нервы как следует), постоянно уходя в невидимость и выбегая из нее с очередным станлоком.

Т.е. если функции сосредоточены на одном человеке — он делает качественно просто из своего желания, даже забесплатно.

Если функции рассредоточены на нескольких людях то:

— бесплатные работники могут творить дичь и их не приструнить, они не обязаны ничего делать, их не брали на эту работу через 10 собеседований, они просто ддосят основного лидера своей чушью, а он вместо того чтобы писать проект как одиночка, вынужден разбираться в чужом говнокоде, обсуждать, принимать, отказывать. КПД такой разработки низок если члены команды не семи пядей во лбу (а обычно так и бывает, редкий опытный крутой человек будет забесплатно сидеть в бесплатной команде школоты и тащить их вверх). Остается выгнать всех, кто неопытен, чтобы они не ддосили лидера своими писульками, и взять все управление на себя, превратившись в одиночку-разработчика. И тогда можно и исходный код спрятать, т.к. как я в самом начале писал — при одиночной разработке выгоды выкладывания всего кода нет. Можно по просьбе интересующихся кодеров — помочь им с алгоритмом определенным, если им понравилась моя реализация и они хотели посмотреть определенные части кода. Но не более того. Весь код — собственность автора.

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

Отсюда я почти уравниваю бесплатную соло-разработку с платной-соло или платной массовой разработкой. Единственное в чем она хуже платной — денег не дают, оттого мотивация более низкая, остается довольствоваться донатом и платными донат-версиями того же бесплатного ПО.
Ну и пусть творится. Вам то что до этого) Вам дают исполняемый файл: «смотрите, какой он классный!». Вы можете на выбор сказать «да, ничо так, сайты грузит, хотя мне он не нужен» или «я [имя_любимого_браузера] пользуюсь и мне эта самоделка бесполезна». И все. Статья не про «ну-ка быстро стали использовать браузер», а про «во чо можно сделать если срезать js и настроить вывод по категориям: хошь картинки посмотреть, хошь ссылки выдрать из тегов скрытые, хошь скрипты почитать». Вам никто ничего не должен. А у меня ощущение что вы меня на работу приняли и начинаете критиковать код смешного вида
if A and B then 
begin 
C:=D; 
E:=F; 
end;


Это бред. Другой человек бы сразу вас послал. А я решил поинтересоваться что вас не устраивает. Открыл эту коробку ваших мыслей — и вижу там «чекбокс» и «нету табуляции». Для меня это смешно, но я, прикрывая рот рукой, спрашиваю дальше «Вы это серьезно?». И вы на полном серьезе продолжаете гнуть линию что такой код «ужасен». Тут единственное, что можно сделать — остаться каждому при своем мнении. Для меня это простейший код какой только может быть, он не ужасен, не прекрасен, он элементарен почти как A:=B, и обсуждать его красоту — только тратить время почем зря.
Не полхабра, а пара человек (кажется, включая Вас), у которых отсутствие табуляции и checkBox1 вызвало проблемы. Обычно в объявлениях по найму пишут «нужно уметь разбираться в чужом коде». Они не умеют) И объяснить не могут как это повлияет на скорость работы проги. Если запрос состояния чекбоксов изначально вместо многократного вызова в цикле еще может что-то ускорить, если работа со строками в парсере не дольше в 100 раз чем проверка чекбокса (хотя они не возмутились не скоростью работы, они испугались именно внешнего вида), то уж отсутствие табуляции — личное дело каждого. Это никак не повлияло на то, что я даю массам — исполняемый файл. Поэтому мне они показались какими-то странными фриками, которых, видимо, трахает на эту тему их собственный ревьювер на работе, оттого у них психологическая травма на всю жизнь. Но я то не работаю в их области, и работаю соло — оттого что хочу, то и ворочу, мне по барабану эти прихоти отрасли) лишь бы быстро работало.
Тут не сам факт «украли и заработали» важен (для меня), а факт что «наличие бесплатного кода подталкивает бизнес к его краже/использованию по лицензии, а не написанию своего». Из-за этого появляются болгеносы и проекты по импортзамещению на основе сплагиаченных прог. Без опенсорса этого просто не могло бы случиться.

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

Опенсорсерам остается конечно модель распространения типа «кастомизация», настройка открытых прог под нужды заказчика. Но эта модель распространения сейчас активно давится облачным ПО, которое просто в браузере открывается с какого-то сервера, и исходников никаких нет (конечно, их могу предоставить, но могут и просто не давать), готовая прога под заказчика. Есть надежда что бесплатный продаваемый десктопный опенсорс провалится со временем и его забросят бизнесмены.
Вот почему: habr.com/ru/post/465709/?reply_to=20622543#comment_20621943

Я даже цитату приведу оттуда еще раз. Написал пять раз это в разных комментах. Напишу и шестой:

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

Опенсорсный проект держит некий «лидер», который должен мучиться, страдать и понимать творения других кодеров, скилы которых весьма разнятся (привет несчастному habr.com/ru/post/169339 ). Он заранее приносит свой код в жертву, обрекая его на возможность плагиата, и сидит ждет помощи от масс. Там в массах среди пришедших будут и сверхталантливые (хотя это маловероятно, они таким бесплатным овном не занимаются, они получают хорошие деньги в хороших местах), и середнячки (несчастные обреченные люди, решившие вступить в такой коммунизм и вместе с непонятной массой делать что-то вместе забесплатно), и совсем утырки (пришли ради строчки в резюме «участвовал в опенсорсе», пришли из девятого бэ покодить, неадекваты всякие и другие замечательные люди). Мне неохота быть таким лидером и разгребать за ними. Мне неохота потом, спустя N-ное время при возникших проблемах понимать их куски кода, которые я не писал, но просматривал, и оттого слабо помню.

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


Вот еще в другом месте это же написано: habr.com/ru/post/465709/?reply_to=20622543#comment_20586203

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


Вот ответ одного из людей, который сообразил (в отличие от вас) что это действительно так: habr.com/ru/post/465709/#comment_20591535

Ну, в целом вы правы, но есть примеры хорошего, качественного OpenSource софта. Firefox, Chromium, VLC.


Осталось ответить на вопрос: сколько надо незаинтересованных шатающихся опенсорсеров чтобы заменить одного заинтересованного автора. Я думаю, ответ — бесконечность. Рост их количества приближает возможность продолжения доработки ПО (половина бросили и разошлись на другие проекты, другая половина кое-как кодит некоторые места проекта). Но когда автор один — он сам за все отвечает и вероятность доработки равна 100%. До тех пор пока он не бросит прогу. Тут не надо одним разбираться в коде других (уже сваливших в другие места на другие проекты), тут один человек отвечает за все и знает все. Это проще, это удобнее, это жизнеспособней. Как только он бросит прогу — все, прога больше не имеет обновлений. Но пока этого не произошло, пока он сам пользуется своими наработками — прога живет на полную, вы всегда получите полную поддержку по ней, помощь, исправление багов и т.д. и т.п. Заинтересованный автор почти равен платной соло-разработке, это на голову выше бесплатной массовой.

Вот почему.
Не, я думаю вот так как там написано: habr.com/ru/post/465709/?reply_to=20622543#comment_20622081

Кратко: я написал софтины для себя, пользовался ими и искал единомышленников, которые тоже бы хотели бы проги со сходным функционалом, нашел их, они мне подсказали в каком направлении двигаться им бы хотелось. Многие желания были учтены, прога есть, пользоваться можно, мало того, я постоянно сам ею пользуюсь и никакие другие фотошопы не заменят мне мой «ассемблер для картинок»/«ассемблер для музыки», где можно рисовать/править от пикселей картинок/отсчетов музыки, инструментов до рисования/создания аудиодорожки большими мазками, скриптами, эффектами, где все регулируется мною, где я могу добавить любые функции, исправить любые функции, сделать прогу еще функциональнее и лучше.

А дальше мне кто-то говорит «о смотри, ее никто не качает, беги доказывай людям что она им нужна, открой исходники наконец, появится множество людей, с которыми ты вместе будешь ее кодить, кодить, кодить». На это есть тот самый ответ «у всех есть любимые проги, заменить их любимую на мою — это:
— и трудно (т.к. моя специфична, необычна-нестандартна в плане интерфейса, многие люди чем старше чем N лет становятся вообще необучаемы и не могут понять иных интерфейсов кроме привычных им),
— и не нужно, я не гонюсь за цифрой скачиваний и не преследую целей заставить все пользоваться моим редактором графики/музыки/анимаций/видео или моим мини-браузером или моей дос-оболочкой, или будущей моей полубраузерно-полуклиентской мморпг или еще какими-то там проектами, которые я придумаю потом.»

Есть подобные мне люди, которые просто выкладывают проги в инет, на форумы, на личные страницы и редкие гости забегают, качают и смотрят на их творчество blackstrip.ru/phpBB2/viewtopic.php?t=534 (там конечно только некоторые, можно по инету пошариться и найти множество страниц с личным авторским софтом).

Мне этого достаточно. Моя цель — не распространить, продать, заставить пользоваться. Моя цель — пользоваться самому и получать удовольствие от удобных мне инструментов для творчества (мне от этого банально «хорошо и весело»), а также показать другим какие можно сделать интерфейсы, утилиты, приспособы, обсудить с ними функционал, вдохновить на создание своего подобного собственного ПО, посмотреть самому на их проги.

Опенсорс мешает этому («созданию людьми собственного ПО»). Как уже я написал десяток раз — опенсорс позволяет плагиатить без усилий и без временных и денежных вливаний. Опенсорс позволяет взять готовый продукт и дорабатывать его вместо написания «собственного ПО». Вместо разнообразных разношерстных разноинтерфейсных браузеров — сплошной бесплатный хромиум. Вместо различных операционок для мобил — сплошной бесплатный андроид. Бизнес толкает разработчиков к этому. Что дешевле — то лучше взять и использовать. Что бесплатно — то тем более еще лучше взять и использовать (и спокойно украсть и использовать, «лицензии» на коленке — никого не спасут). Поэтому опенсорс без сомнения выиграет эту войну и заполнит мир тысячами одинаковых прог и сотнями тысяч тупых кодеров, которые «участвовали» в чужих проектах но не имеют за душой ничего своего (с взрослением их еще поглотит работа, в рамках которой с 10 утра до 8 вечера они кодят «на дядю», и выдохнувшись под вечер не успевают делать ничего своего и идут спать).

Без опенсорса у этих программистов вместо копий чужого могло бы появиться что-нибудь свое. Слабые кодеры сразу бы отсеялись, такой человек неспособен написать свое, он бы
в этой ситуации и не смог взять чужое (неоткуда, кроме наборов алгоритмов или обучающих какой либо технологии/приему мини-прог, которые не жалко раздавать, в инете, которые еще надо знать как использовать в своих прогах, как туда встроить, как отладить и убедиться что все ок), просто плюнул бы и пошел заниматься другими делами. Сильные кодеры, которые таки решили пройти этот путь по литературе, документации, охраняли бы свои продукты. Никто бы не разбрасывался своими наработками, а обсуждали бы в соцсетях функционал своих прог и приемы программирования, помогали бы друг другу. Раздача исходников целиком считалась бы непотребством, только за конкретную плату одни кодеры продавали бы результаты своих трудов другим кодерам, передавая разработку из одних рук строго в другие (а не из одних рук всем подряд), и уже другая фирма следила бы за продуктом, поддерживала бы его, продавала, а пользователи бы оценивали ее «вот какая стала ужасная фирма, прошлая хорошо следила за продуктом, а у этой — куча проблем с этой прогой, больше ею пользоваться не будем, уходим к конкуренту».
Не, не так категорично. Есть среди них хорошие кодеры, старательные, качественно пишущие прогу и хотящие чтобы она была классной. Но как обычно большинство людей не будут такими. Они будут полной противоположностью. И тогда при их столкновении (даже супергениального сверхработящего лидера и бомжекодеров) получится ровно что описано там: habr.com/ru/post/169339

Вам приходит большое количество писем. Разгребать баг репорт и менеджить issue tracker это уныло.
Приходят патчи. Ревью это классно когда вам присылают хороший код. Или интересный решения. Но часто это будет так себе. Или очень плохо. И тогда code review это тоска.

Поддержка Open Source проекта это не fun. Это сложно и скучно


Поэтому я выбираю одиночный кодинг. А если одиночный — то и исходники показывать никому незачем)
Как пример, недавно на хабре была статья с нагло стыренными прогами, представленными как свои. Там был один из линуксовых офисов, в котором перебили логотип в окне «о программе» и пару строк в окошках. Новое название, новый логотип. В файлах а ля ридми и др. — оставили наполовину старые обозначения, наполовину новые. Вставили все это в реестр для импортозамещения и продают лохам «свой» офис. Прям как болгенос. Они видимо как и я не особо поняли эти лицензии опенсорсеров в файле «неворуйуменя».

Браузер из моего поста написан как программа для чтения сайтов/файлов на слабых компах без скриптов и стилей. Это очень специфичная прога, т.к. она скорее всего никому не нужна и приведена в статье как пример «чо будет на экране если сделать парсер с настраиваемыми категориями вывода инфы — картинки, ссылки, комменты, скрипты, стили, мета и т.д.». Поэтому ожидать что все резко подорвутся и начнут ее повседневно использовать — не стоит. Я даже наоборот рекомендую пользоваться хромом если хочешь нормально посмотреть сайт (и сам им пользуюсь, т.к. он, вроде бы, самый совершенный и с самым большим процентом поддерживаемых стандартов на сегодняшний день).

Эта прога для «посмотреть какой контент будет без скриптов на разных сайтах (и насколько быстро можно его читать, не ожидая загрузки в лагучем браузере с уведомлениями)» и для «у меня слабый планшет и я тоже хочу быстро читать новости/форумы». Кто захочет попробовать — тот скачает. Попользуется, прикинет чего ему бы еще хотелось. А потом напишет свой браузер еще лучше этого моего парсера-сайториппера.

А вообще насчет гонки за количество скачиваний: есть простое правило (как я заметил за последние 10 лет спама на форумах и других местах обсуждений и последующих горячих и не очень спорах). Заключается в следующем: человек привыкает к одной проге для каждой из целей и она у него любимая. Один граф.редактор, один муз.редактор, один видеоредактор, один текстовый редактор, один офисный текстовый редактор, один hex-редактор и т.д. Поэтому пропихнуть любую прогу взамен любимой человеком и привычной ему — задача почти невозможная.

Когда человек видит другие, аналогичные/сходные по функционалу проги, то лишь некоторые скачивают и пробуют, остальные гневно кричат (например, при обсуждении граф.редактора) «зачем делать граф.редактор если есть паинт/гимп/паинт.нет/фотошоп» (а потом еще дерутся — «ваш гимп неудобный», «ваш фотошоп платный и для правки фоток, а не рисования», «паинт.нет бесит, кто его такой кривой сделал ваще» и кидаются дерьмом друг в друга). Особо одаренные кричат что-нибудь типа «сделайте вашу прогу на вид/на интерфейс как фотошоп!» или «сделайте вашей проге шоткаты (сочетания клавиш) как в фотошопе!» (и плевать что там нет таких функций как в фотошопе, на которые заботливыми читателями предлагается биндить шоткаты).

Им и неинтересно что это, например, пиксель-арт редактор с ручным управлением курсором прямо на картинке, с прецизионной расстановкой пикселей, с возможностью масочной обработки различными эффектами, с возможностью рисования своих собственных растровых шрифтов и использования их на для текста на картинках, возможностью простой сборки гифов из gif-кадров в папке, аналогичной сборки avi-видео из кадров в папке с добавлением озвучки, возможностью рисования стерео-картинок с сохранением картинок в форматах MPO/JPS, возможностью съемки стерео-фоток на две веб-камеры (а также обычного фото, а еще покадровой анимации типа кукольной и потокового видео), возможностью рандомного рисования фигур для создания/придумывания образов будущих художеств, возможностью создания анимаций, программируемых с помощью обычной JavaScript, возможностью создания и самой озвучки/музыки во встроенном звуковом программируемом на спец.командах редакторе, возможностью рандомного сочинения музыки. Для меня эта хрень с 2010 года по 2018 выросла почти в «ассемблер для картинок/музыки/видео».

Что в нем ты сидишь один на один с мельчайшими элементами картинок и делаешь как низкоуровневые операции (ездишь курсором и ставишь по одному пикселю), так и среднеуровневые (пиксельные масочные эффекты, текст своими шрифтами, анимации там складываешь из кадров), так и высокоуровневые (фото/видео с вебкамеры ноута прям как раньше было на мобилке с камеры, скриптованные видео пишешь, текстуры рисуешь зацикленные, стереокартинки для двух глаз отрисовываешь, рандомные образы генеришь, а потом на основе увиденного додумываешь и рисуешь бэкграунды для игр и просто рисунки с определенными объектами в кадре).

Там же пишешь музыку как на низком уровне (правишь каждый отсчет вручную оцифрованного аудио, вручную по отсчетам создаешь сэмплы для инструментов, можно даже в JS написать прогу, генерящую сэмпл в массив по определенному математическому закону/законам и он будет подцеплен редактором как цифровое аудио), среднем уровне (создаешь свои инструменты из готовых сэмплов, достаешь их из SF2/DLS-аудиобанков, выбираешь место для цикла от начального до конечного отсчета и прослушиваешь нет ли в цикле щелчков, расставляешь инструменты в пространстве, пишешь с их использованием музыку), высоком уровне (в системе «ввод нот» играешь на виртуальной шестиструнной гитаре выбранными видами боя, на фортеписано тоже переборами или просто пишешь вручную по кнопке «запись» прямо с клавиатуры ноута, используемой как клава пианино, на барабанной сетке и все сразу вводится в виде команд в программу, по которой потом рендерится результирующее wav-аудио).

Потом собираешь видео из анимации и звука. И получаешь результат. Пиксельный или сглаженный. С уродской рисовкой или нормальной. С музыкой так себе или красивой. Мультфильм или кино. Но свой собственный результат творчества. Типа всех этих pg.blackstrip.ru

А бывают и индивиды типа вот того чела habr.com/ru/post/465709/?reply_to=20621501#comment_20621845, которые пригорев в очередной раз — пишут что нибудь типа «аа хрень курсач, студенты пишут за неделю, кукареку».

Кривой-косой аналог paint который хуже gimp'а с парой плагинов? Это все уровень курсовой работы более менее нормального вуза не топового уровня для программерской специальности. И с этой задачей справится любой студент который сам учится.


Но я не отчаиваюсь. 100% отдачи от ПО и быть не может. Кто-то просто не хочет
— рисовать, сочинять музыку, делать фильмы и мультфильмы (paintcad mobile и paintcad 4windows),
— лазить в пиксельном браузере по новостям и попутно читать прикольные java-скрипты на сайтах и комменты в html-коде, смотреть внутреннюю структуру сайта, выдирать необычные ссылки из тегов и качать потихоньку разный контент (justcode),
— собирать копеечные webmoney-бонусы с сайтов и смотреть как они весело звенят в wm-кошельке при приходе на него (hyperwm),
— сидеть в DOS на старом дос-ноутбуке или в dosbox на новом компе и через оконную графическую оболочку читать у разных игр там readme с псевдографикой и забавным оформлением, системные требования и всякие попутные тексты к игре, а потом запускать ее и играть (blackstrip shell).

А я хочу, оттого это все и пишу. Если кто-то еще захочет — может воспользоваться моими наработками. А может и свои потом написать, вдохновившись такими занятиями. Все просто.
Шаблоны, шаблоны, шаблоны)

Доктор, не лечите меня, а? =) «бубубу должен к 34 годам то-то и то-то, это беда...». Вы в зеркало на себя посмотрите когда это пишите. Насупив брови и раздув ноздри вы решили судить кого-то потому что вам наступили на опенсорс. Но он остается овном, смиритесь.

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

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

Опенсорсный проект держит некий «лидер», который должен мучиться, страдать и понимать творения других кодеров, скилы которых весьма разнятся (привет несчастному habr.com/ru/post/169339 ). Он заранее приносит свой код в жертву, обрекая его на возможность плагиата, и сидит ждет помощи от масс. Там в массах среди пришедших будут и сверхталантливые (хотя это маловероятно, они таким бесплатным овном не занимаются, они получают хорошие деньги в хороших местах), и середнячки (несчастные обреченные люди, решившие вступить в такой коммунизм и вместе с непонятной массой делать что-то вместе забесплатно), и совсем утырки (пришли ради строчки в резюме «участвовал в опенсорсе», пришли из девятого бэ покодить, неадекваты всякие и другие замечательные люди). Мне неохота быть таким лидером и разгребать за ними. Мне неохота потом, спустя N-ное время при возникших проблемах понимать их куски кода, которые я не писал, но просматривал, и оттого слабо помню.

Поэтому опенсорс — не вариант. Это дичь, а не разработка. Хотя, кому-то может и нравится вместо своего красивого (вы же стараетесь когда пишете) и продуманного, отлаженного и сверенного с документацией кода — бороться с чужой писаниной. Но сколько уйдет на это времени, сколько труда по исправлению чужих косяков.
Из Пользы №2 следует, что вместо того чтобы самому писать качественно, автор ждет и ему прилетают готовые правки от суперпрофессионалов, просто профессионалов, школьников, бомжей и алкашей. И он сидит в это все втыкает. Вот один бомж придумал полный бред, второй алкаш какую-то невнятную наркоманию прислал, а третий суперпрофессионал предложил дельное решение. Но я не хочу с этим разбираться. Действительно они все не так хорошо разберутся с проектом как я. Например, PaintCAD Mobile писался с 2004 по 2017 год, все вот эти годы мне юзеры присылали идеи, но это были не правки кода, а предложения, например, в этих длинных темах waper.ru/forum/topic/209204, waper.ru/forum/topic/250737. Предложения переписывались, сортировались, часть реализована, часть не была реализована и так и лежит в идеях, это аналогично пользе №1, но получено не по результатам просмотра и попыток изучения кода, а по результатам тестов/эксплуатации. Мне так удобнее и легче, нежели если бы они пытались разобраться в куче модулей и что-то там предлагали.

Польза №3 — у меня тоже есть. Но это от удовольствия использования готового ПО, а не правок/использований кода кем-то там на стороне.

Код — промежуточный этап, по кускам — он никому кроме меня не нужен, целиком — нужен чтобы стырить («форкнуть») готовое ПО, что я считаю плагиатом и не хочу чтоб продукт расходился по рукам и дробился в сторонние, дублирующие продукты. Мой продукт на выходе — только исполняемый файл. Отзывы — только по результатам использования.
Как недавно одной даме сказал клирик Дионисий Васецкий…

Я уже с Востриковым наспорился. Он похож на вас. Пишешь ему 5 доводов — он 5 ответов. Ему опять 5 доводов — он 7 ответов. Ты ему 7 доводов — он тебе 10 ответов. Потом его ответы начинают повторять ранее отвеченное и так по кругу. Я сначала подумал «может кидать на каждый ответ ссылки на другие комменты, что по десять раз распинаться», но потом понял что это пустая трата времени, т.к. он свои доводы считает верными, а когда ему покажешь «вон есть альтернативное мнение некоторой группы людей что опенсорс — это явное овно», то он сразу визжит «а не хочу читать, подмена понятий и фактов, хотите доказать что правы показав чужие мнения». А я ничего не хочу доказать. Собака лает (такие как вы изливаете тут простыни непонятных символов) — караван идет (проприетарное качественное эксклюзивное авторское ПО по конкретной задумке с последовательно достигаемыми целями, фидбеком и результатом делается).

Ну я, короче, все равно буду писать проприетарное качественное ПО. И считаю, что такое ПО, написанное с конкретной целью и с желанием его доделать до определенного конца — гораздо лучше «работы» разрозненных опенсорсеров, разбегающихся как мыши от проекта к проекту. То что пять коллективов сделали Firefox, Chromium и еще пару тройку известных прог — ничего не значит. Множество коллективов «бесплатного опенсорса» кормится от конкретных фирм, спонсирующих их «бесплатную» деятельность. Как только спонсорство пропадает — эти «бесплатные» деятели разбегаются, т.к. хотят кушать, а не сидеть как лохи, тратить время и программировать забесплатно какой-то жалкий кусок кода непонятно вообще для чего, и проект глохнет.

Никогда не почувствуешь свой проект если не напишешь его сам и не будешь отвечать за него сам. Никакой опенсорсер, дописавший по две строчки в десять проектов, и гордо задирающий нос «ооо, я помог сообществу бомжей и безработных» не равен настоящему заинтересованному кодеру, который пишет софт ради именно хорошего результата. Не участвует то там, то тут, то сям, а берет с нуля и до самого конца тянет на себе проект, формирует его, улучшает его, меняет в угоду мнениям юзеров и своим предпочтениям. Это как человек, создавший двести лет назад фирму, например, известную пекарню, мастерскую или цех по пошиву одежды, он старался держать марку, следить за качеством, создавать новое (а не слепо копипастить друг у друга как опенсорсеры-коммунисты) и модернизировать созданное. Это человек который от начала до конца прошел этот путь. Он не бегал с завода на завод, с пекарни на другую пекарню. Он сел и делал свое дело. И он не набирал бесплатную команду ноунеймов-школьников, т.к. это повредило бы делу. И люди не работали у него забесплатно, как опенсорсеры. И «хочешь сделать хорошо — сделай сам».

Я так и поступаю. Пока я один — все в моих руках. Я обеспечиваю своим программным продуктам необходимую доработку, модернизацию, поддержку, превращение одних продуктов в другие (перетаскивание наработанных технологий из одних своих продуктов в другие свои, более новые).

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

Так что давайте досвиданья.
Ну это тоже важно, наверное) Но я отчего-то привык к зубодробительным чужим кодам и мой мне тоже привычен, не испытываю неудобств особо.

Даже этот код на вышеприведенной для прикола картинке — ну скобки снесли вбок, глаз все равно при открытой фигурной ищет ответную закрытую и все их сразу и находит. Как надоест их путать с двоеточиями — ну снести можно вниз по одной по enter или сразу поиском заменить скобку на перенос+скобку. А так — вполне терпимо.

В мелком проекте с 20 чекбоксами, который единожды написан и будет правиться самим автором два-три раза в некоторых местах — эти «лишние» часы сокращаются до секунд. Поэтому этими часами можно пренебречь.

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

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

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

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

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

Ну а как действует опенсорсер — подвязывается к проекту, дописывает модуль, бежит дальше. Мало того, не пишет код, а берет какой-нибудь готовый с лицензией «разрешается взять в свой проект, если он будет опенсорсный». Поэтому ему ничего не жалко — ничего у него своего нету =) ну это, конечно, домыслы мои. Реальные опенсорсеры, наверное, более круты и такого у них не бывает. Хотя вот здесь znay-kak.ru/programmi/7-prichin-pochemu-open-source-eto-ploxo.html такой же еретик типа меня пишет:

1. Open Source продукты пишет широкая аудитория программистов со всего мира, но за сам продукт толком не отвечает никто.
Пожалуй, это один из самых больших минусов, который только может быть у программных продуктов. Это не волнует пользователей, когда речь идет об IM-клиенте (аська\джаббер\скайп) или о графическом редакторе. А если мы сейчас говорим о базе данных клиентов предприятия? О бухгалтерском программном обеспечении крупной конторы? Или о компьютерной системе целой больницы? Если в логике или коде такой программы обнаружатся ошибки и неточности — это может нанести огромный ущерб предприятию и его клиентам. Из этого вытекает вторая проблема.


Этот мерзавец тоже поносит опенсорс почем зря, видимо.

По вашей логике я и в кубейсике использую стандартные типа PRINT, LINE и CIRCLE — моя прога франкенштейн, т.к. я не писал исходный код этих команд) По моей трактовке, франкенштейн — это прога из больших чужих кусков, взятых по очередной лицензии из чужих проектов, а туда попавших из других чужих проектов, вместо моего любимого изобретения велосипедов и изучения темы а ля «как написать такой кусок для такой функции проги, и потом как его оптимизировать, ускорить, отладить».

Ответственность и поддержка — это когда что-то сломано, то мне пишут «в этой проге эта фича работает неправильно, поправьте», я тут же пишу «да, это явный косяк» и тут же правлю (потому что желаю сделать свое ПО наиболее удобным, полезным и хорошо работающим, прямо как производители платного ПО) и пишу в истории «исправлена некорректная работа функции такой-то при таких-то условиях». Это эксклюзивное бесплатное ПО ручной работы. Стильно, модно, экономно!

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

Вот это в том же тексте по ссылке второй проблемой описано:
2. Не факт, что проблему, возникшую с программой, кто-то вообще будет решать.
Поскольку Open Source — это скорее общественное начинание, вы ничего не можете требовать от команд разработчиков программ, которые используете. Разработчики коммерческих приложений более-менее гарантируют отлов «багов», исправление ошибок в логике, периодические обновления программы. Open Source'ники творят, что хотят. Поддержка проекта может прекратиться вообще. Ошибки в программе может никто и не исправить. Как-то раз мы даже были вынуждены отказаться от использования Open Source продукта именно потому, что сообщество намертво забросило этот проект. Увы. И раз уж мы заговорили о разработчиках, то вспомним и службу поддержки.
Спасибо, что наконец-то объяснили.

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

Без табуляции в Дельфе пишу давно. Посмотрел свои проекты на java2me, на яве-андроидовской — там везде табуляция есть, т.к. там ее IDE проставляет более-менее нормально и там я привык с ней бороться если она неправильно ставится. В Дельфе же — что есть то есть, она тоже пытается проставить табуляцию, но я ее стираю и не борюсь с ней. Мало того, мой ноут (на котором я все это и пишу по пути на работу и с работы в эл-ках и другом транспорте) имеет экран 1024х600 точек и с табуляцией все бы еще сильней уезжало вбок, приходилось бы с трудом смотреть текст.

Можно, наверное, прогнать прогу через какой-нибудь автотабулятор, он сдвинет строки и все станет табулированным как надо. Но сам я и так привык разбираться в этой куче кода (путем тех самых комментов после end). А другим показывать код для изучения/понимания не планировал и передавать на дальнейшую доработку тоже не планировал.

checkBox-ов у меня 20 шт на форме, и как их не называй — в конечном машинном коде это никак не отразится. Поэтому это тоже дело красоты исходников. Если бы я делал проект для кучи народа, хотел чтобы они изучали/заимствовали/понимали/помогали, то я бы обозначил чекбоксы иначе. Но т.к. занимаюсь проектом только я, то если я забыл что написано, а комментов рядом нет, то я смотрю написано «чекбокс20» в коде — в менеджере объектов в списке выбираю «чекбокс20», смотрю что на форме выделилось. А на форме все чекбоксы имеют надписи типа «UTF8» или «Сохранять историю», тут я и понимаю что это за чекбокс.

Большой доработки этого кода, скорее всего, не будет. Максимум что сейчас делаю — это переписываю/конвертирую написанное под андроид для выпуска JustCode в Google Play. Раз-другой эти 20 флажков еще раз посмотрю на форме и всё. Поэтому оставлю их названия как есть.

Information

Rating
Does not participate
Location
Подольск, Москва и Московская обл., Россия
Date of birth
Registered
Activity