Comments 540
На планшете весь экран сенсорный, страницу можно прокручивать без всяких полос.
шарик двигаешь - он регулирует скорость прокрутки вверх или вниз (просто держишь палец в нужном месте регулятора и страница крутится, отпускаешь - останавливается в текущем месте)
а полоса прокрутки с кирпичом - тыкаешь пальцем в нужное место и сразу перескакиваешь или двигаешь кирпич быстро перемещаясь сразу в нужное место
и тот и другой метод имхо гораздо удобнее современной "промотки" страниц пальцем (катнул и она укатилась фиг знает куда, в неизвестное место или в конец сайта вообще, если сильно дернуть) или тыканья пальцем в нужное место обычной полосы прокрутки, когда она в ответ начинает какими-то шагами перематывать страницу в сторону указанного места и надо еще удерживать сто лет нажатие в указанном месте полосы прокрутки пока наконец-то ее кирпич не докатится до указанного места, а за это время браузер отрисует 100 других частей сайта, которые я и смотреть не хотел
Links2 видели?
А так, конечно, видел другие текстовые браузеры.
гуглоХром тоже когда-то был очень маленький, шустрый и нетребовательный, но потом что-то пошло не так… ;)
Я даже специально еще раз проверил, с секундомером, у меня свежая лиса, без расширений, что стартует, что загружает страницу медленнее чем хром с 5 расширениями, как? На одном SSD установлены, в одних условиях запускаются.
При этом памяти хром жрет больше, хотя и не в разы.
У лисы еще анимации такие, лично у меня создают ощущение медлительности процессов.
Не хотел переходить, но нужен второй браузер, но чет лиса прям отталкивает, ни одного плюса найти не могу( ибо с памятью и производительностью проблем нет, я бы хрому с радостью ресурсы х2 бы дал, за еще 15% ускорение всех процессов).
Как?
Думаю дело в разных видеокартах. firefox использует "ускоренный" с помощью видеокарты рендеринг только на некоторых версиях ОС и с определенными видеокартами.
А во-вторых, у Хрома есть совершенно кошмарный баг, связанный с выделением текста в урлах в инструментах разработчика при редактировании атрибутов вида
style="background: url('https://example.com/image.jpg')"
. Если вкратце, то при попытке выделить URL внутри атрибута браузер сбрасывает режим редактирования во всех случаях клика «внутри» URL, кроме одного: нужно попасть указателем мыши пиксель в пиксель справа от конца последнего символа урла. Чуть сместишься, и всё, входить в режим правки по новой. Эта проблема существует уже кучу версий (точно больше полугода), и её никто даже не думает фиксить.Причём этот баг проблемный не столько для разрабов (ну серьёзно, как часто вам надо копировать урлы из отладчика при разработке сайта?), сколько для пользователей: я часто таким образом вытаскиваю для сохранения картинки из контейнеров, реализованные через background).
Кроме того, у Лисы чётче шрифт после доводки настройками, и симпатичнее (на мой личный вкус) форма вкладок.
Лиса же почему то тратит на это 1.2-.1-3 секунды.
Лично для меня у хрома есть плюс, который не перебивается ничем, это гугл хром, гугл аккаунт, в котором по сути вся твоя жизнь.
Поэтому вещь безальтернативная, даже если бы были вещи, которые мне бы мешали, хотя их в общем то почти и нет.
это гугл хром, гугл аккаунт, в котором по сути вся твоя жизньВы используете ещё какие-то сервисы от гугла? Можно описать чуть подробнее, в чём преимущество? :)
Облачная синхронизация вкладок и истории между устройствами — это давно есть и у Firefox. Расширения — самые популярные вроде Custom Style Script, Proxy Switchy Omega и AdBlock представлены и там и там. Темы — тоже настраиваются и там и там, у Firefox настройка интерфейса даже гибче (можно менять местами и удалять кнопки и разделители, добавить отдельную панель для поиска, можно даже создать полностью свой личный скин через файла userChrome.css!).
По скорости запуска же — да, наверное SSD эту разницу нивелирует (но в любом случае, Хром на старте тянет больше лишнего, раз с жёсткого диска стартует так долго).
Так багу-то репортили?
Я просто не был уверен,
так а проверить?
Ну как бы, Вы даже сами подсказываете, что возможно это при каких-то конкретных условиях проявляется.
Однако, даже не пытались довести до разработчиков эту информацию, при этом же сетуете, что
проблема существует уже кучу версий..., и её никто даже не думает фиксить.
Так и кто будет думать о том, чего не знает?
Да ладно, когда это он таким был? На слабых машинах (мы же про слабые машины?) прямо на старте адски тормозил: был в разы медленнее той же Opera 12, а ресурсов (памяти) жрал непомерно больше…
p.s khtmlw(idget) -> KHTML -> WebKit -> Blink
Про самую раннюю версию и речь: поставить протестировать на свой комп (уже сильно устаревший к тому времени: Celeron 1700 МГц, памяти 256 Мб, видеокарту и материнку уже не помню, вроде GeForce 440MX) как только он вышел, но чуда ожидаемо не случилось. Через 5 минут он был снесён и больше я о нём никогда не вспоминал.
Я например помню, как оптимизировал по скорости очень тяжёлый сайт, и оптимизировал его именно под Оперу. Но заказчик тестил через Хром. И когда я впервые его Хромом открыл (после всех оптимизаций, когда улучшить уже было нечего без потери функционала), то получил прирост отзывчивости раза в полтора по ощущениям. То есть оно всё ещё не летало, но уже работало ощутимо лучше.
P.S. Я всё ещё ностальгирую по старым Операм и до сих пор их фанат, но что правда то правда, увы.
Однако, тут следует заметить, что впечатления от пользования могут РАДИКАЛЬНО меняться в зависимости от железа, и даже версии ОС. То есть вполне возможен вариант, что на слабом железе опера будет выигрывать, а на топовом — будет медленнее.
И кроме того — всё действительно может зависеть от сайтов, которыми часто пользуешься. Нисколько не исключаю, что вы пользовались какими-то особо тяжёлыми сайтами, которые в хроме открывались лучше, чем в опере. Но главным образом я бы всё же списывал это на железо, см. выше.
WebAssembly — это байт‐код для встроенного интерпретатора. Если программист написал на яваскрипте говнокод, то он так и оттранслируется в говнокод на WebAssembly. Объекты, используемые яваскриптом, точно такие же, какие будут использоваться и WebAssembly. Строки точно также будут ссылаться на своих родителей и держать их, занимая память.
Браузер — интерпретатор. При очень сложных алгоритмах конечно можно выжать какой-то процент экономии, но в первую очередь нужно оптимизировать сами страницы.
Так и будем страдать и вспоминать ранние версии html, где были только текст и картинке. А для 90% сайтов другого и не надо.Раньше были страницы, сейчас — веб приложения. Или вы хотите ради каждого веб-магазина отдельную программу ставить?
Ради интереса открыл один из форумов на phpbb, на котором я сижу, щелкнул страничку — 2,4 МБ. Потом щелкнул эту страничку — 27 МБ. Разница в 10 раз!
В нулевых веб-приложения использовали скриптовые языки на стороне сервера, клиенту отдавался всегда готовый html, а JS-а практически не было на страницах.А функционал какой был? Сейчас ожидается, что страницу не нужно будет перезагружать на каждое действие пользователей(например онлайн карта), плюс страница в состоянии как-то отреагировать на действие, например вывести автодополнение. При этом она ещё и будет нормально отображаться и на всяких смартфонах.
Безусловно можно и сейчас делать компактные страницы, только на это потребуются деньги, которых у заказчиков явно не будет.
Плюс избавляться от полифилов как только, так сразу, но тогда даже palemoon может отвалиться, не говоря уже про другие варианты.
Сейчас ожидается, что страницу не нужно будет перезагружать на каждое действие пользователей(например онлайн карта), плюс страница в состоянии как-то отреагировать на действие, например вывести автодополнение. При этом она ещё и будет нормально отображаться и на всяких смартфонах.Всё, что вы описали выше, совсем не требует десятки мегабайт кода, и может быть реализовано довольно легковесно (кроме карты, но это сторонний сервис, плюс там всё равно больше весят тайлы, чем сам код).
А для смартфонов вообще лучше делать отдельный мобильный поддомен — и объём кода десктопной версии сократится (а мобильную версию вообще следует оптимизировать особенно сильно, чтобы на любых калькуляторах работала), и шансов ловить баги будет куда меньше (на самом деле, единственный потенциальный баг, который останется — неверный автоматический выбор сервером версии сайта для клиента).
Плюс избавляться от полифилов как только, так сразу, но тогда даже palemoon может отвалиться, не говоря уже про другие варианты.Полифилы, даже будучи идеально написанными и не глючащими, много весят и жрут прилично ресурсов. Проще вообще не использовать по возможности новые фичи языка, если они не особо критичны.
Всё, что вы описали выше, совсем не требует десятки мегабайт кода, и может быть реализовано довольно легковесно (кроме карты, но это сторонний сервис, плюс там всё равно больше весят тайлы, чем сам код).Покажите мне эти мегабайты кода. У меня ВНЕЗАПНО скачивается аж 2.8 Мб на этой странице, при том что большинство из них это картинки. Где выигрыш по сравнению с тем форумом?
А для смартфонов вообще лучше делать отдельный мобильный поддоменТолько вот переадресацию с этого поддомена на десктопный почему-то забывают.
Поддержу ваш комментарий скриншотом:
2 Мб всего, 800Кб из них картинки
Для Хрома: F12->Memory->Heap Snapshot, в Огнесиле также.
К тому же, нет необходимости в «десятках мегабайт» JS кода, чтобы браузер начал глючить на не топовом оборудовании.
Вот отличная статья на эту тему: medium.com/@addyosmani/the-cost-of-javascript-in-2018-7d8950fbb5d4
Иллюстрация оттуда:
2 секунды же, first contentful paint, то есть время, когда отрисовался первый контент. 20 секунд – это на загрузку всех второстепенных перделок. Зачем они нужны – это уже отдельный хороший вопрос.
Сейчас попробовал открыть Google News на старом iPhone 5C (по характеристикам он похож на Alcatel 1X).
Страница полностью загрузилась за 7 секунд. Не предел мечтаний, но лучше, чем показывают на той картинке.
А в треде разговор шел про потребление памяти и слабые девайсы.
Если тестировать на медленном интернете, то он и окажется бутылочным горлышком и неважно, сколько там в телефоне мегабайт.
А она есть.
Вот именно, все факторы смешали вместе, получили какие-то цифры, которые непонятно как интерпретировать.
Да и сама статья больше похожа на агитку "давайте делать мир лучше", чем на какое-то практическое руководство. Дельная статья выглядит как-то так, например: https://habr.com/en/company/ruvds/blog/352030/
Покажите мне эти мегабайты кода. У меня ВНЕЗАПНО скачивается аж 2.8 Мб на этой странице, при том что большинство из них это картинки.Потому что Хабр — хороший, достаточно оптимизированный сайт. Тут уже был топик про новый интерфейс GMail, там уже всё не так радужно. Да что там далеко ходить, возьмите любое современное расширение под любой браузер. Там графики почти нет. Основная логика — 5-10 процентов объёма, остальное — толстенные библиотеки, большая часть из которых даже ни разу не используется…
Только вот переадресацию с этого поддомена на десктопный почему-то забывают.Для прямого захода с десктопа, или где? Не понял сути проблемы, если честно
Страницы никуда не делись. Документация, например — обычный HTML зачастую. Даже простые сайты, типа DuckDuckGo и StackOverflow, недалеко от классического DHTML ушли. Что хорошо для web-приложений (многопроцессность, сэндбоксинг, оптимизация под частый ререндер за счёт ресурсопотребления) — плохо для простых страниц. Браузеры, шустро гоняющие сложнейшие web-приложения, не могут тем временем похвастаться возможностью без огромного оверхеда по оперативке открыть десятки вкладок с простыми страницами и быстро ворочать ими.
Десктопные приложения как таковые умирают. Во-первых, их проще спиратить, а облачный сервис не спиратишь без взлома сервера. Во-вторых, web-приложения повышают мобильность рабочих мест: проще обмениваться наработками с коллегами, меньше возни для обеспечения работы из дому. В-третьих, web-приложения проще делать кроссплатформенными: даже якобы десктопные приложения всё чаще делаются поверх Electron, NW.js и т.п. — кодовая база почти единая для всех платформ, и разработчиков на это дело найти проще, чем на более низкоуровневые кросс-платформенные технологии типа Qt или Mono.
Как пример yEd — редактор визуальных схем написанный на Java сейчас и есть в виде Веб приложения
Обмен наработками, в том числе и в риалтайме — без проблем реализуется в десктопном приложении, причём даже красивее и с большим числом возможностей
Про то, что проще писать на JS — быть может, только потом эти адские поделия ужасно тормозят, жрут кучу ресурсов и весьма сомнительно выглядят (был опыт использования некоторых приложений на Электроне, включая Skype и Discord, и оба они не блещут изяществом, хотя на самом деле неплохо масштабируются под настройки разные DPI, вроде как, даже существенно лучше нативных).
Про Qt — это конечно крутой и популярный фреймворк, но это не единственный путь. Можно, например, использовать Windows API напрямую или использовать WPF (в версиях под Windows). А ещё есть Java
Обмен наработками, в том числе и в риалтайме — без проблем реализуется в десктопном приложении, причём даже красивее и с большим числом возможностейВот только его нужно устанавливать, нужно с активацией морочиться (ключи зачастую выдаются на одну машину). А с web-приложениями достаточно открыть их в обычном обозревателе, войти в свою учётную запись — и сразу пользоваться, в любом месте.
ужасно тормозят, жрут кучу ресурсов и весьма сомнительно выглядятДа, но лучше так, чем никак.
или использовать WPFНекроссплатформенный. Ладно линуксоиды и прочие маргиналы бизнесу малоинтересны, но что делать с macOS? Web-приложения даже на мобильники можно впихнуть зачастую.
А ещё есть JavaЗачастую ещё прожорливее Electron.
Вот только его нужно устанавливать, нужно с активацией морочиться (ключи зачастую выдаются на одну машину). А с web-приложениями достаточно открыть их в обычном обозревателе, войти в свою учётную запись — и сразу пользоваться, в любом месте.Что мешает сделать логин через облако для десктопного приложения? Посмотрите на те же современные мультиплеерные игры. Ну или хотя бы просто упростить активацию (убрать привязку к железу вообще или хотя бы разрешить активацию на 2-3 разных машинах, выдать пользователю файлик с ключом, попросить записать на флэшку или скинуть в частное облако, и вуаля, половиной проблемы меньше).
Некроссплатформенный.Я знаю, я имел в виду те решения, которые нацелены только на Windows. Никто ведь не сетует на то, что часть софта есть только под Mac (Logic X, Final Cut Pro)?
логин через облако для десктопного приложенияБессмысленно, если функциональность распространяется в коде скачиваемой программы — крякнут и будут юзать локально. Мультиплеерные игры — плохой пример, у них функциональность завязана на сервере, с кем играть без него?
разрешить активацию на 2-3 разных машинахА кому-то понадобится 4 — и привет… Да и 2–3 достаточно, чтобы злоупотреблять.
нацелены только на WindowsЗачем так делать, кроме как из яростной нелюбви к невиндузятникам?
Никто ведь не сетует на то,Сетуют, но что делать?
Да и 2–3 достаточно, чтобы злоупотреблять
Не согласен. Я приобретаю лицензию на 1 человека, а не на 1 ПК. Если нужно, пусть цену делают выше. Злоупотреблять можно всем, вопрос в том, что нельзя, чтобы страдали те, кто НЕ злоупотребляет.
На мой взгляд, 3 хватит за глаза — 2 ПК дома (в разных комнатах, но обоими пользуюсь я сам), плюс 1 на работе (если на работе разрешено ставить свой софт. Или даже все 3 лицензии пустить на домашние машины: у меня множественная загрузка, и стоит куча версий Windows разом на машине. Что-то мне подсказывает, что одна лицензия на софт = одна установка, на другой версии винды уже коды оборудования будут чуть другие из-за других версий драйверов, либо из-за того, что разметка диска будет выглядеть из-под каждой ОС чуть по-своему.
Бессмысленно, если функциональность распространяется в коде скачиваемой программы — крякнут и будут юзать локально.Крякнуть можно что угодно. Нельзя, чтобы это усложняло жизнь обычным пользователям. Вспомните историю с защитой Denuvo…
Зачем так делать, кроме как из яростной нелюбви к невиндузятникам?Зачем сразу нелюбви? Чистая экономическая целесообразность. Вот решил разработчик, что у них 80-90 процентов ЦА виндузятники — так зачем заморачиваться с разработкой кроссплатформы или кучи версий? Это же дополнительные расходы.
Сетуют, но что делать?Да бросьте, кто сетует? Есть ведь не менее хорошие (хоть и другие) аналоги этих программ под винду, причём в ассортименте). Никто не в обиде сильно :)
Я приобретаю лицензию на 1 человека, а не на 1 ПК
А как программа поймёт, что пользуется один человек? Биометрическую авторизацию задействовать?
коды оборудования будут чуть другие из-за других версий драйверов
Почему? Вещи вроде HWID жёсткого диска меняются только его перепрошивкой или заменой.
Крякнуть можно что угодно
Да, но взлом копии программы на своей машине, и взлом сервера — совершенно разные вещи. С разной степенью необходимой палевности и степенью наказания.
Нельзя, чтобы это усложняло жизнь обычным пользователя
Так оно не усложняет: обычным пользователям давно и успешно втюхали, что облака — это хорошо и удобно.
так зачем заморачиваться с разработкой кроссплатформы
Почему «заморачиваться», если кроссплатформенные технологии проще?
Есть ведь не менее хорошие (хоть и другие) аналоги этих программ под винду
Ага, вот только звукачи, как правило — тоже обычные пользователи, и у них пальцы прирастают к определённому ПО, переучиваться — смерти подобно. А ещё им необходима железобетонная стабильность, которую эппловский программно-аппаратный комплекс обеспечить может, а винда с прикрученным сбоку ASIO — нет. «Рас-рас» приемлемо на деревенских дискотеках, но не на серьёзных мероприятиях.
Почему? Вещи вроде HWID жёсткого диска меняются только его перепрошивкой или заменой.Тогда ещё проще, чем я полагал :) Одна установка = одна физическая машина
которую эппловский программно-аппаратный комплекс обеспечить может, а винда с прикрученным сбоку ASIO — нетОчень спорно про стабильность эппла. Вы видимо не видели и не слышали, какой трэш на маках начинается (особенно на макбуках), когда проект слишком тяжёлый, и железо уже «не вывозит» все дорожки (я вот видел на курсах). Не то чтобы винда решает проблему слабого железа, просто выбор разных конфигураций железа в плане ноутов под винду шире намного.
Почему «заморачиваться», если кроссплатформенные технологии проще?Кому как, вопрос вкуса и конкретной технологии :)
Да, но взлом копии программы на своей машине, и взлом сервера — совершенно разные вещи. С разной степенью необходимой палевности и степенью наказания.Как минимум переносить логику на сервер плохо тем, что без подключения к интернету ничего работать не будет. А если вынести логику в JS — то опять же, всё клонируется на свой домен и любая защита ломается.
когда проект слишком тяжёлый, и железо уже «не вывозит» все дорожки
И при чём здесь стабильность? Стабильные ограничения производительности, когда продюсер точно знает, что 64 дорожки, допустим, ещё потянет, а 65-ю нет и надо извращаться — это как раз лучше, чем когда тормоза приходят внезапно. Классическая и чисто электронная (не вычислительная) техника так и работает, у неё чёткие лимиты, а не труднопредсказуемый бардак фон-неймановских машин и тем более сред выполнения со сборщиком мусора. Так же бяше на ранних ЭВМ где-то до середины 90-х: вспомнить хоть 4 дорожки в MOD, 16 в MIDI… а потом пойде зоопарк писюков, зоопарк мобил, и всё скатися ;) Собственно, бум Java и прочих кроссплатформенных технологий на эту же эпоху прийдеся.
вопрос вкуса
Вам шашечки или ехать? ;)
переносить логику на сервер плохо тем, что без подключения к интернету ничего работать не будет
Ну это лет 10 назад аргументом бяше. Сейчас без Интернета один хрен работа встанет раком, даже если рабочая программа работать будет. Опыт иранской изоляции, протянувшейся от силы неделю — наглядно демонстрирует; это при том, что там критичные для работы простых смертных, не работающих с забугорьем, сервисы — все местные, и хомячки приучены их открывать напрямую без поисковика. А если и по стране сеть ляжет, то вообще апокалипсис наступит.
Есть, конечно, отрасли, где завязки на Интернет старательно избегают, типа военки, но они уверенно маргинализируются.
Вам шашечки или ехать? ;)Мне всё сразу :D
Опыт иранской изоляции, протянувшейся от силы неделю — наглядно демонстрируетНу в масштабах страны остаться без интернета — конечно, очень неприятно и уже почти что апокалипсис.
Но я же не об этом :)
Ну вот представим какую-нибудь огромную компанию с собственной сетью (локальной и между филиалами, с собственными каналами). Что мешает им сидеть только в рамках этой сети? Сайты в интранет, почта там же через свой сервер, свои чаты. Я не про военку, а про фирму, пишущую софт какой-нибудь, или каких-нибудь рисователей условного аниме в Японии.
То есть я к тому, что если все программы работают без интернета (офисные, графические пакеты) — то жить вполне можно при отвале последнего, хоть в гугл и не залезешь поискать информацию. А вот если отвалится весь софт — то это уже всё, финиш :)
огромную компанию с собственной сетью (локальной и между филиалами, с собственными каналами)
Вы ж понимаете, какая это роскошь — класть свой бэкбон, особенно если филиалов более полутора штук и они в разных странах, а то и на разных континентах? ;) Даже для крупных компаний. Обычно интернетофобы просто используют прямую модемную связь поверх оператора стационарной телефонной связи, так хоть маршрутизация через непредсказуемый круг лиц исключается (зато добавляется возможность перехвата трафика любым васяном с катушкой индукции, ага). И со временем этот вариант отмирает, проще и дешевле зашифроваться поверх Интернета, чем так извращаться, если нет крайней надобности.
Если же уход от Интернета делается ради безопасности, то об удалённой работе в таких условиях и речи быть не может, даже VPN-доступ к интранету вряд ли организуют. И лэгаси в виде десктопных тонких клиентов вместо web — тут ещё не самое вычурное, соседняя статья про РЖД как раз вовремя ;)
Я просто топил за автономность и устойчивость системы.
Ну вот представьте, что завтра случится какой-то апокалипсис и интернет рухнет. И рухнет всё, что на него было завязано. Все эти Dropbox/Spotify/VK/нужное добавьте сами.
А софт, который работает локально — работать не перестанет, пока есть электричество.
С остальным полностью согласен. Кроме того, что и поверх модемной связи без проблем можно применять шифрование (только скорость будет довольно отстойной, так что нет особого смысла).
А при чём здесь удалённая работа?
При том, что речь выше идяше о подключении не с единой рабочей машины.
завтра случится какой-то апокалипсис и интернет рухнет. И рухнет всё, что на него было завязано
Проблема здесь в том, что на Интернете уже завязано столько, что последствия будут катастрофическими, и резко станет не до работы ;)
Да и что понимать под его обрушением? Завалить Интернет единомоментно и целиком весьма нетривиально, он специально спроектирован так, чтобы этого избежать. Тут вопрос в том, выживут ли конкретные маршруты, нужные конкретной организации, и выживут ли при этом альтернативные сети между теми же узлами.
Так и будем страдать и вспоминать ранние версии html, где были только текст и картинке. А для 90% сайтов другого и не надо.
Дану, постоянно вижу комментарии в духе "- обновите дизайн, уже давно не начало нулевых!" о сайтах в старом стиле.
вот, например, код из парсера для тега «a»:
inside:=false;
tag:=uppercase(tagpure);
spacep:=pos(' ',tag);
if spacep=0 then tagname:=tag else tagname:=copy(tag,1,spacep-1);
if (not inscript) and (tagname='A') then
begin
ParseTag(tagpure);
//если флажок Ссылки или флажок Якоря включен
if checkBox9.Checked or checkBox10.Checked then
begin
linktext:=Lg.GR(24);
linktag:='HREF';
link2text:=Lg.GR(25);
link2tag:='NAME';
needlink:=true;
needdbr:=true;
end;
end;
end; //for i
end; //for j
end; //if checkBox1.checked
Потому что мне лень табулировать.
Не исключено, что это питонист так и пишет, чтобы этот мусор перед глазами не маячил ;-) Желательно тогда ещё перенос строк в редакторе выключить и за пределы экрана его выкинуть, чтоб только горизонтальной прокруткой добраться можно было.
Я сам тоже питонист, но, так сказать, приезжая в другую страну, я не продолжаю говорить по-русски.
Так это не русский, это русский акцент.
/* осторожно, не читать любителям английского
No if you will say on English language how you say on Russian, some will understand, what you wanted say, but all others will want you kill. */
Я про то, что писать на Java используя подобие PEP8 и игнорируя гайдлайны джавы — неправильно, так как ухудшает читаемость для людей, которые будут работать с этим кодом дальше и ожидать, что в джава-файле код отформатирован как джава (что и произошло на той картинке).
В примере выше ведь тоже понятно, о чем речь — а ведь некоторые люди так и говорят, и их даже понимают — но никто же не будет спорить, что при чтении проще понимать грамматически правильные предложения, а при разговоре проще понять чистый английский (в том числе чистый американский английский), чем пробиваться сквозь тонкости диалектов и акцентов?
У меня представление об открытом исходном коде как о вечно незакрытой двери в квартиру. Когда спрашивают «а для чего же ты оставляешь дверь открытой?» опенсорс-товарищи отвечают «ну может добрые люди зайдут и мебель мне принесут, поставят, или бытовую технику». Хотя у меня одно представление «оставил дверь открытой — все спукрали, это Россия, детка».
Вот вам заодно еще код для обработки тега IMG чтоб вас хватил сердечный приступ. А минус на вашем профиле у меня уже стоит, видимо уже достучались до меня в предыдущих обсуждениях.
if (not inscript) and (tagname='IMG') then
begin
ParseTag(tagpure);
s1:='';
s2:='';
s3:='';
for k:=0 to length(nams)-1 do
begin
if nams[k]='WIDTH' then s1:=Form3.DeQuote(vals[k]);
if nams[k]='HEIGHT' then s2:=Form3.DeQuote(vals[k]);
if nams[k]='ALT' then s3:=Form3.DeAmper(vals[k]);
end;
if checkBox3.Checked then
begin
imgtext:='';
if (length(s1)>0) or (length(s2)>0) then
begin
if length(s1)=0 then s1:='???';
if length(s2)=0 then s2:='???';
imgtext:=s1+' x '+s2;
end;
if (length(s3)>0) and (s3<>'""') then
begin
if length(imgtext)>0 then imgtext:=imgtext+', ';
imgtext:=imgtext+s3;
end;
if length(imgtext)=0 then imgtext:=Lg.GR(11) else imgtext:=Lg.GR(11)+' ('+imgtext+')';
imgtext:=imgtext+': ';
imgtag:='SRC';
needimg:=true;
needdbr:=true;
end;
end;
Пойду поиграю в WoW Classic. Из-за таких как вы хабр превращается в набор коротких статей о том, как кто-то написал очередные три строки кода на ноунейм-языке. А, представьте, ведь когда-то тут были творческие заинтересованные люди, а не закомплексованные запуганные любители правил и оформлений кода. Но все изменилось лет 5 назад, может раньше.
Да, если вы хотите зарабатывать, делать OS надо с осторожностью.
Во всех остальных это странно.
Security through obscurity не работает. Совсем. Так что вы не закрыли квартиру дверьб, вы бумагу вместо двери натянули и смеетесь над теми, кто бумаге не вешает, а просто оставляет дверь открытой.
Поэтому закрытие исходного кода означает что никто не упрет часть проги чтобы сделать свою аналогичную, никто из конкурентов не упрет прогу целиком чтобы сделать аналогичную вредоносную с целью компрометации оригинальной. Один единственный разработчик — и он отвечает за качество, не работает ПО — вопросы к нему, полезное ПО и нравится — спасибо ему.
А сломать ПО — доступ к сорсам не нужен. Любой зловред посмотрите из 2000х, которые модифицировали ПО как сами захотят.
Не говоря уж о миллионе хаков для игр и ПО, которые без доступа к сорсам их расширяют(Тот же Mental Omega поражает воображение, если начать разбираться какими хаками там всё сделано).
Имхо, открытый код придумали ленивые кодеры, копипастящие все и вся из чужих проектов в свой проект, именно поэтому их код не представляет никакой ценности, т.к. это франкенштейн из кучи чужих проектов. Молодцы те, кто это продвинули — это надо было так объегорить кучу людей «делайте, старайтесь и выкладывайте просто так» — и народ повёлся. Теперь тем, кто это продвинул, можно безнаказанно тырить чужие проги, не париться дизассемблировать, понимать, разбираться, а просто брать готовые исходники и использовать у себя. Удобно чо. Правда в результате такого зоопарка исходники превращаются в редкостное и нормальный человек в них и разбираться не будет, тысячи форков от Васей и Петей из 6Б — кому они нужны?
Отлаженный, вылизанный и быстроработающий код — всем нужен. Но он закрыт. Так что пользуйтесь результатами работы зоопарка.
— Несмотря на то, что гипотенуза существует, ваше утверждение про сумму квадратов — полный бред
Без аргументов — всегда легко.
Вы не приводили аргументов, чтобы их можно было контраргументами победить.
Вы несете бред, я констатирую что это бред.
Буду аргументы — может контраргументы появятся.
Вон с лурка почитайте, например, там подобное хорошо описано lurkmore.to/Open_source
Выводы одни: если открыто — то упрут и всё. Дописывать и помогать (качественно, а не через одноклассников из 6-го бэ) будут только для самых лучших проектов, остальное просто выкладываешь «забирай кто хочет» и всё, выхлоп нулевой. Тогда зачем это делать? Любителей халявы много, но я не собираюсь их кормить.
1) просто стырят часть проги чтобы использовать как свою — одно дело алгоритм пузырьковой сортировки расшарить друзьям, а другое дело большой кусок большой проги. М.б. он мне послужит в коммерческом направлении еще. И мне не нужны конкуренты уж точно.
2) конкурирующий товарищ/коллектив сделает аналогичную моей прогу на основе моих исходников, но с вредоносным кодом внутри. Раздаст всем, а потом признается что прога шпионит, чтобы опорочить мое честное имя =) Или не признается и будет собирать инфу, а потом кто-то ее активность посмотрит и скажет «ба, там же кейлоггер» и буду я доказывать что я не я, лошадь не моя, особенно если проект выстрелит.
Пока прогу не уперли — она моя, все лавры мне, вся ответственность на мне. Все красиво и хорошо.
А когда уперли — лежит хрен знает где, выпускает билды хрен знает кто, один вариант работает так, другой эдак, третий никак, жаловаться некому, разброд и шатание) прямо как при разработке игры Life is Feudal:
— вы выложили новый билд, я не могу поставить мебель в дом
— я не занимался домами, я деревья сделал зато, я Вася из седьмого Б, а домами Маша занимается, если вообще занимается.
В итоге MMO закидана дерьмом в стиме, отзывы отрицательные, все лагает, не пашет, не фурычит и только злит бедных пользователей. Зато автор игры Бобик классно наварился на лохах.
store.steampowered.com/app/700030/Life_is_Feudal_MMO
Любая прога — не доллар чтобы всем нравиться. Да и мне никакой коммерческой выгоды от нее нет. В статье описана не сама прога (типа «ах какая она хорошая, скорее юзайте»), а процесс написания браузера и показан результат. Я не прошу вас бросить Хром/Мозиллу и сидеть в JustCode.
Еще убунту ставил, она тормозит. Там же нарывался на пакеты, когда ставил дрова под модем йоты, версия дров 33 (условный номер) не работает, версия 35 не работает, версия 38 тоже. А версия 34 работает. И ошибок не выдает конкретных. И я понял, что по сравнению с виндой линукс ужасен, и по статистике сидят на нем 1% пользователей, так что коммерческое что-либо под него писать не стоит.
Еще на лазарусе пробовал (дело было на убунте, а сейчас у меня он в подсистеме линух стоит на windows 10 с убунтой). Там пустое окошко — 20 мегабайт исполняемый файл. Добавляешь пару кнопок — 30 мегабайт. Добавляешь еще компоненты — он пихает еще какие-то модули в прогу, и вот она уже 40 мегабайт. Так себе оптимизация. Попробуй потом объясни почему у тебя прога с двумя кнопками 40 метров весит, что ты туда напихал (страшный троян может?). Еще Qt посмотрел, как он не работает из коробки и все надо донастраивать, и в разных линуксах то одно в нем не пашет, то второе.
И во мне укоренился фанат Windows.
Консоль — прошлый векНу дак Synaptic в лапы ;-)
Потом удаляешь прогу, она с собой в могилу уносит какие-то пакеты, и оказывается они были нужны еще кому-то и теперь эти кто-то не работают вплоть до полного краха всей системыА если выпилить из винды IE — внезапно оказывается, что от этого куча сторонних прог ломается, хотя нафиг кому этот «недобраузер» нужен, казалось бы. Вывод — плохому танцору орхиэктомия не поможет, только эвтаназия.
Пакеты дают легковесность и безопасность: одни и те же либы, вместо того, чтобы устанавливаться с каждой прогой отдельно, ставятся один раз. И в оперативке благодаря этому не дублируются. И обновление безопасности, которое прилетает на эту либу, тоже распространяется на все программы сразу — не надо ждать, пока обновят все.
Просто ставишь какой-то пакет, а там связи между ними какие-то дикие, то подходит, то не подходит. Потом удаляешь прогу, она с собой в могилу уносит какие-то пакеты, и оказывается они были нужны еще кому-то
Звучит так, как будто вы использовали пакетный менеджер неправильно. Например вручную ставили, а потом опять же вручную удаляли deb пакеты.
Просто почитайте документацию про apt/apt-get и все эти проблемы исчезнут и будет значительно удобнее windows.
У меня Raspberry Pi 3 с распбианом есть, смотрю там видосики в хроме и играю через RetroPie в старые консольные/приставочные игры. sudo apt-get, все дела.
И все-равно opensource — говно, да?
Еще убунту ставил, она тормозит.
А че винду не ставили? А да, она ж не opensource, и MS ее так полноценно на арм и не портировал.
habr.com/ru/post/465709/?reply_to=20584593#comment_20581837
и еще
habr.com/ru/post/465709/?reply_to=20584593#comment_20582037
Т.е. опенсорс, предположительно, будет менее качественным (менее рабочим, менее тщательно отлаженным), чем бесплатное закрытое (это которое я, например, выпускаю) и платное закрытое (которое делают профессиональные коллективы за деньги).
При закрытии исходников и прекращении форканья проектов школьниками — останутся только давно разрабатываемые проекты, которые их родные авторы холят и лелеют (как это было 20-30 лет назад). Для того чтобы что-нибудь написать глобальное — надо будет постараться, вложить душу, заниматься этим лет 10, а не сидеть и безмозгло форкать чужие исходники на переменке, а потом дописать туда пару строчек из hello world и забросить свой очередной форк.
При закрытии исходников и прекращении форканья проектов школьниками — останутся только давно разрабатываемые проекты, которые их родные авторы холят и лелеют (как это было 20-30 лет назад).
При прекращении «форканья» и закрытия исходников от «школьников» — давно любимые и холимые авторами проекты давно бы умерли, не прожив и десяти лет. Лет 20-30 назад была совершенно иная ситуация. Актуальные программы, которым 20-30 лет и которые продолжают развиваться и оставаться закрытыми и проприетарными, можно по пальцам пересчитать. Их процент в общей массе откровенного закрытого и проприетарного windows-шлака несоизмеримо ниже, чем те проекты, которые подхватили и поддержали как раз те самые «школьники», ныне взрослые и опытные профессионалы.
Вы практически в каждом посте утверждаете, что несете ответственность за свой продукт. Некто начал его использовать и у него украли данные для авторизации в личном кабинете одного из банков и, допустим, просто вывели всю сумму со счета. Пусть это будет один миллион. Вы, как разработчик, прощелкавший безопасность или пользователь, воспользовавшийся вашим браузером — кто из вас ССЗБ и каким образом вы будете компенсировать ущерб?
Читая ваши комментарии, я думаю, что смогу сформулировать вашу точку зрения на OS следующим образом:
«Я брал, беру и буду брать все, что мне нужно или просто хочется отовсюду, невзирая на лицензии или проприетарность. Взамен же я буду запрещать использовать плоды моего труда и всячески препятствовать их распространению, кроме как в скомпилированном и зашифрованном виде. Потому что мне так хочется и я никому и ничем не обязан.»
Вы практически в каждом посте утверждаете, что несете ответственность за свой продукт. Некто начал его использовать и у него украли данные для авторизации в личном кабинете одного из банков и, допустим, просто вывели всю сумму со счета. Пусть это будет один миллион. Вы, как разработчик, прощелкавший безопасность или пользователь, воспользовавшийся вашим браузером — кто из вас ССЗБ и каким образом вы будете компенсировать ущерб?Ну, автор же может написать типичное лицензионное соглашение со словами «программа предоставляется как есть, никакой ответственности за возможный ущерб авторы не несут».
Я только за закрытие исходников топлю. И за разгон команд школьников, которые без души и цели лепят куски кода направо и налево, перепрыгивая с проекта на проект, закидывая интернет этим открытым исходным кодом, кучей недоделанных форков.
При закрытии исходников и прекращении форканья
Вместо этого, имхо, надо набирать команду нормальных программистов, платить им как положено и они будут работать как положено.
Как вы там писали… Ах да.
Не говорите что нам делать — и мы не скажем куда вам идти.
1) с исходниками обойти в разы легче, с нуля же создавать аналогичный проект — гораздо затратнее. Я закрываю дверь в квартиру чтобы другие сами себе купили мебель, а не перли мою и выдавали за свою.
2) для нормальных юзеров дают EXE-шник, у них нет средств для просмотра и сборки исходников. Через EXE-шник они и налетят на проблемы. И я вам, понимающему исходники, смогу что-то доказать. А толпе на хайпе — нет.
Оххх, есть такое ощущение, будто вы боитесь что вас уличат в том, что на самом деле это вы "натырили" кода у других :)
Берешь три плохих, тестишь по очереди, соединяешь кусок оттуда, кусок отсюда, тестишь, провал, соединяешь кусок отсюда, кусок оттуда, тестишь, успех — вуаля, получаешь один, но свой и хороший
Да, там в 500 килобайтах засунут хром, переставший занимать гигабайты в оперативе, и линкс, переписанный на дельфи. Вы меня раскрыли.
Авторство и автора защищает не закрытый код, а цифровой сертификат. Для размещения вредоноса внутрь вашей программы никакие исходники не нужны. Тупо дописывается вредоносный кусок и делается перенаправление загрузчика.
А авторство (по конкретной версии) нужно доказывать цифровой подписью.
С такой лицензией Вы можете вполне настоять на том, чтобы форки имели другое имя.
Как насчет лицензий для иконок в вашем браузере? На каком основании вы их используете? Как насчет лицензирования вашей копии Delphi? Вы в курсе, что весомая часть библиотек в вашей любимой Windows имеют непосредственное отношение к OS? Ubuntu в вашей windows 10 — тоже OS.
Не хотите исходники открывать — да ради бога, на здоровье. Вам задали вполне невинный вопрос о причине, а вы тут конечным продуктом ополоснули целое комьюнити, чей вклад в развитие IT несоизмеримо выше вашего.
— Статья хорошая, читается интересно и лично для меня вопрос актуальный. За это благодарю. Но пробовать ваш продукт не стану сам и других отсоветую.
Бесплатное ПО с закрытым исходным кодом (с донатом по желанию) — классная тема. Все делают свои проекты, растут над собой, анализируют небольшие алгоритмы друг с другом (не целиком прогу, а конкретные проблемные места), выкладывают результаты своей деятельности в exe-шниках и других исполняемых файлах, обсуждают, пользуются, получают удовольствие от использования такого качественного ПО, каждый ответственен за свои косяки в своем ПО, замечательно.
За копирайт не хочу, т.к. давно уже надел треуголку. Хотя и пытаюсь написать все свое чтобы не брать на абордаж чужие продукты. В моем разработанном арсенале есть графический редактор PaintCAD (рисует картинки, создает и использует растровые шрифты собственного формата paintcad font или PCF, кадры анимаций, собирает GIF-анимацию, AVI-видео, добавляет WAV-озвучку к AVI-видео), программируемый звуковой редактор Qmpot (создает WAV озвучку, позволяет программно писать мелодии из отдельных WAV-сэмплов, которые можно извлечь также из SF2/DLS-банков в самом редакторе), авто-композитор музыки Muzz (сочиняет рандомные мелодии с выдачей их в MID или в Qmpot-программах, которые можно уже в Qmpotе превратить в WAV), программируемый на JS создатель анимаций Scriptaint (на движке IE программируется выдача кадра за кадром, в каждом из которых ставим в нужные места картинки, масштабируем их и применяем разные эффекты в пределах HTML/JS, а он каждый кадр сохраняет в BMP для последующей сборки в анимацию/видео в паинткаде).
В перспективе видится собственная IDE с каким-нибудь синтаксисом типа того же паскаля/си и выдачей на выходе хотя бы win32 exe-файлов без использования всякого тормозного .net. На этом котором я и буду в удовольствие кодить.
Все иконки JustCode нарисованы лично мной в моем редакторе PaintCAD 4Windows
Чужой труд я тоже уважаю, но если это труд типа описанного в этих моих комментах ( habr.com/ru/post/465709/?reply_to=20605989#comment_20582037, habr.com/ru/post/465709/?reply_to=20605989#comment_20589803 ) — это сизифов труд, всякие безработные бездари сидят и пишут шлак забесплатно (и некоторые с этим моим мнением соглашаются в определенной мере типа товарища habr.com/ru/post/465709/?reply_to=20605989#comment_20591535 ). Один из 10 (а может из 100) проектов действительной выходит крутым у опенсорсеров. Остальные 99 — это трэш.
Вот, например, еще про опенсорс и его недостатки:
znay-kak.ru/programmi/7-prichin-pochemu-open-source-eto-ploxo.html
Это самая нишевая и ужасная разработка, которую только можно было придумать — всем вместе забесплатно сидеть и пыхтеть. Ее пиарят просто потому что компаниям типа Microsoft легче купить гитхаб и подмять под себя всех этих товарищей, украв их наработки и не заплатив ни цента, и потом говорить «о я люблю опенсорс, я люблю линукс». А остальным компаниям легче своровать готовые продукты, а не писать свои. Бесплатность для компаний и возможность хоть где-то поучаствовать для безработных/безмозглых кодеров низшего уровня — эти две вещи объединились и породили опенсорс. И это ужасно.
Чуть покруче — моя, проприетарная соло-разработка, лично заинтересован сделать качественное ПО, отвечаю за него, никуда не сверну с намеченных планов и доведу до конца каждый проект.
Еще покруче — платная соло-разработка, программист за деньги выполняет по ТЗ намеченную задачу и выдает продукт, отвечающий определенным требованиям заказчика.
И самая крутая — платная групповая разработка, когда куча народу быстро за деньги делает качественный продукт.
Вот такое мое мнение.
Я очень уважаю свой труд и ценю свою репутацию, именно поэтому я бы не хотел чтобы хотя бы одну из моих прог растащили на форки
Каким образом форк повредит вашей репутации? Сколько вообще таких случаем было в истории? Вы понимаете что ваши рассуждения выглядят как «я ношу шапочку из фольги чтобы меня сосед не облучил»?
Чужой труд я тоже уважаю, но если это труд типа описанного в этом моем комменте… — это сизифов труд, всякие безработные бездари сидят и пишут шлак забесплатно
«Я уважаю чужой труд, но это шлак который пишут бездари». Выберите что-то одно пожалуйста.
Кстати, windows 10 Professional можно уже давно купить в виде кода для OEM версии на ebay за 100-150 рублей и поставить на любой комп, даже на котором до этого несколько лет стояла неактивированная windows 10. Считай бесплатно.
Это не сделает ваш windows лицензионным, читайте EULA. Лучше скачайте KMS активатор если уж так не нравятся черные обои.
Там же, в самом посте, автор неоднократно пишет, что он устал исправлять баги, которые ему присылали. Видимо, пользователь всегда найдет способ выстрелить себе в ногу, не так ли? Сам же он не смог их найти.
Один из 10 (а может из 100) проектов действительной выходит крутым у опенсорсеров
То ли дело ваш продукт, вон он то гениален, сам Сатья Наделла мечтает украсть ваш продукт чтобы встроить его в Windows.
Вот, например, еще про опенсорс и его недостатки:
Восхитительная статья, без шуток.
Особенно порадовал пункт про отсутствие ответственности.
За исключением исправления, замены или возмещения стоимости, которые могут предоставить производитель, установщик или Разработчик, по данной ограниченной гарантии, в соответствии с любой другой частью настоящего соглашения или какими-либо другими законами вы не можете получить никакой другой компенсации и средств защиты прав, в том числе за упущенную выгоду или прямые, косвенные, специальные, опосредованные и случайные убытки и ущерб. Данные исключения и ограничения в отношении средств защиты прав в рамках настоящего соглашения применяются, даже если исправление, замена программного обеспечения или возмещение его стоимости не компенсирует вам все убытки, если производителю, установщику или Разработчик было или должно было быть известно о возможности таких убытков или если средство защиты прав не соответствует его основной цели. В некоторых штатах и странах не допускается исключение или ограничение в отношении случайных, косвенных или других убытков, поэтому данные ограничения или исключения могут к вам не применяться. Если ваше местное законодательство предусматривает взыскание убытков с изготовителя, установщика или Разработчика, несмотря на настоящее соглашение, вы не имеете права взыскать сумму, превышающую ту, что была уплачена вами за программное обеспечение (или 50 долл. США, если вы получили программное обеспечение бесплатно).
Цитата из лицензионного соглашения одного из самых популярных проприетарных продуктов. (Я удалил название авторов этого продукта)
Ее пиарят просто потому что компаниям типа Microsoft легче купить гитхаб и подмять под себя всех этих товарищей, украв их наработки и не заплатив ни цента, и потом говорить «о я люблю опенсорс, я люблю линукс».
Каким образом покупка гитхаба майкрософтом дает этому самому майкрософту право использовать ПО исходники которого размещены на гитхабе в обход лицензии этого самого ПО? Мы точно в одном с вами мире живем?
А остальным компаниям легче своровать готовые продукты, а не писать свои.
А потом получить судебный иск и платить компенсацию.
линк
возможность хоть где-то поучаствовать для безработных/безмозглых кодеров низшего уровня — эти две вещи объединились и породили опенсорс. И это ужасно
Вот, вот о чем я и говорил. «Опенсорс пишут безмозглые идиоты». Это ваши слова. При этом вы продолжаете использовать phpBB. Будьте последовательными, купите лицензию 1С Битрикс и перейдите на него.
Чуть покруче — моя, проприетарная соло-разработка, лично заинтересован сделать качественное ПО, отвечаю за него, никуда не сверну с намеченных планов и доведу до конца каждый проект.
«А вот я — гениален, мод код совершенен».
Вот возьмем ваш браузер, в нем оказалась критическая уязвимость благодаря которой злоумышленники украли у меня с банковского счета не важно какого банка 300 тысяч российских рублей. Вы мне эту сумму компенсируете?
Какие гарантии того что вы не увязнете в своем «if checkBox9.Checked or checkBox10.Checked then» и не скажете «я сделал все что хотел, дальнейшей доработки не будет»?
Еще покруче — платная соло-разработка, программист за деньги выполняет по ТЗ намеченную задачу и выдает продукт, отвечающий определенным требованиям заказчика.
Я посмотрел ваш код, он ужасен. Я искренне надеюсь что вы так пытались пошутить и на самом деле так вы не пишете. А в случае если это не шутка я искренне надеюсь что на жизнь вы зарабатываете не программированием.
И самая крутая — платная групповая разработка, когда куча народу быстро за деньги делает качественный продукт.
Если бы вы были моим коллегой — я бы сделал все чтобы вас уволили, потому что тот код что вы продемонстрировали отвратителен, его невозможно поддерживать, на него даже смотреть неприятно.
В общем подведем итог, если бы вам было в два раза меньше лет — то самомнение уровня «опенсорс пишут один безмозглые идиоты, один я умный стою в белом пальто красивый и никому не отдаю исходники» было бы в общем-то нормальным явлением, то есть мнение конечно бы не стало менее неадекватным, но по крайней мере причина его возникновения была понятной: гормоны, юношеский максимализм, отсутствие жизненного опыта.
Если бы вам было в два раза больше лет, то мнение «все хотят украсть мои наработки, или сделать форк и опорочить мое доброе имя. Но я никому не отдам исходники, моя прелесть, а без исходников добавить вредоносную функциональность невозможно» возникало бы по вполне понятной причине, старческий маразм и увеличение степени подозрительности.
Но так как вы находитесь строго посередине этих двух возрастных отметок, то остается только посочувствовать вашему горю. Ну и надеяться на то что вы зарабатываете на хлеб не программированием.
Форки дадут множество копий кода, качество которого не будет соответствовать моим стандартам. Я как Нинтендо. У меня достаточно эксклюзивное ПО с закрытым исходным кодом.
Я уважаю чужой труд, но бездарь, которого я имею ввиду, трудится зря, т.к. на выходе у него шлак и собирают из этих 5 кусков шлака от 5 таких людей такой же большой шлак, бросают на полпути и разбегаются на другие проекты. Это не труд, а бессмысленное и беспощадное дрочево какое-то и слив своего времени впустую. (это в 99 из 100 случаев по моей теории, в оставшемся 1 случае подбираются хорошие кадры и удачное стечение обстоятельств и наличие мозга и времени у лидера/ревьюверов позволяет им написать хорошее ПО).
Сделает-не сделает — но винда лицензионная в окне «О программе», есть не просит, не ругается, все возможности открыты. Если майкрософт деактивирует лицензию за нарушения очередной лицензии еула-уюла, куплю другой код за 100 рублей и активирую его взамен старого. Мне это нетрудно.
Мои продукты эксклюзивны и обладают набором возможностей, которых в таком сочетании нет в другом ПО (иначе я бы не стал их писать и воспользовался готовыми такими же, как минимум, пиксельный графредактор-аниматор на j2me мобилы, андроид и аналогичная расширенная прога с музредактором-видеоредактором-скриптоаниматором на винду). Ну и плюс это ПО бесплатно для меня и я не краду ничего, а использую свое и это приятно. Очередные заверения «оо ваш код и проги ничего не стоят, скорее раскройте их» — смешно, вы свои поделки можете раскрыть на здоровье, а от других ничего вы требовать не можете.
Когда исходники открыты — в России их можно украсть и запихать в любое ПО, как открытое, так и проприетарное. Пока будете доказывать что у вас что-то там украли — если наедете на простых людей, то просто 5 лет потратите на возню, если на людей посложней — то сами можете пострадать, наши суды в таких случаях действуют совсем не по закону, а по знакомствам, деньгам, связям и желанию конкретного судьи, решение которого вы будете потом до старости обжаловать в вышестоящих инстанциях у других подобных судей. Поэтому единственный выход чтобы ничего не украли — закрыть. Открытый код — общее достояние, на воображаемые лицензии все кроме фанатиков-опенсорсеров кладут хрен. Вы живете в мире фанатиков-любителей лицензий, которые думают что защищают код, выкладывая его в открытый доступ с припиской «я разрешаю то, еще то и сё, а запрещаю вон то и то». Но настоящий мир отличается от вашего.
В этих же комментах Востриков приводил примеры постов. Там судятся, проводят экспертизы исходного кода, стоит его немного зашифровать, исказить, на крайняк по запросу выдать не те исходники — и наши суды не смогут ничего сделать. Это НАШИ суды. Которые приговоры дают «зашел в форум с учетки и написал что губернатор — баран, осудить». И потом сколько не доказывай «с моей учетки кто-то еще мог зайти, она была залогинена на компе» — у них ответ один «в учетке ваш email/телефон записан — значит это вы. Виновен» (это реальный случай). И у этих людей вы хотите проводить суды и сравнения по результатам экспертиз? Надо подождать лет 50 (или 100) чтобы все сдвинулось в правовой области в сторону защиты исходников. Пока что все в плачевном состоянии. Единственная защита — не дать возможности забрать код вообще никаким образом.
Как я и написал повыше в этом ответе — опенсорс пишут безмозглые идиоты на 99%. phpbb написали 1% оставшихся умных, опытных или просто удачно подобравших команду. Я продолжаю использовать phpbb и UPX как готовые решения (программы). Просто форум распространяется в виде скриптов, которые по совместительству являются исходными кодами, т.к. именно скрипты запускаются на хостинге. Если была бы возможность вместо этого закинуть на сайт какой-нибудь исполняемый файл, который реализовал бы работу форума — я бы скачал его вместо исходников. Они мне не нужны как исходные коды, только как штука, после запуска которой заработает форум. Таким образом, я использую и бесплатные опенсорс проги/прогоподобные скрипты, и бесплатные проприетарные программы и не делаю между ними различий, накладывая свой большой и толстый на всю эту чепуху типа лицензий. Ну а т.к. я не беру кусок форума и не делаю из него свой форум, например, без указания авторства пхпбб-авторов в нарушение этих воображаемых лицензий, то я ничего не нарушаю и с их стороны. Только конкретно вас почему-то это излишне возбуждает и заставляет писать стены текста «ах, он не принимает опенсорсные лицензии и разнообразные правила FOSS, но при этом юзает их скрипты, каков негодяй!». Нет никаких требований что использовать на запуск опенсорс-проги могут только те, кто «верят в опенсорс». Я в этом плане атеист))
Если в браузере (парсере текста HTML-кодов) критическая уязвимость, то это ваши проблемы. Вы скачали и запустили прогу на свой страх и риск. Это вообще-то с любой прогой так на ПК. Только если вы бы купили у меня что-то и заключили со мной договор, то мы прописали бы там условия на разные случаи жизни. А т.к. никаких договоренностей нет между нами — то все проблемы это только ваши личные проблемы. Если я вдруг сдохну или просто перестану делать браузер — то просто появится последняя версия, после которой новых версий не будет. И так с любыми прогами бывает уже на протяжении с 70-80х годов и до сегодняшних дней, это нормально, вы прямо как с Луны свалились.
Насчет кода — неважно каков он, важно какой win32 код на выходе, сколько в нем багов и насколько удобно вообще прогой пользоваться, я пишу прогу не для чужих кодеров, а для юзеров, запускающих исполняемые файлы.
Ну и если у вас код «if A and B then begin C := D; E := F; end;» или отсутствие табуляции вызывает ужас — обратитесь к докторам. Это нормальный код, уверяю вас, я видел в чужих проектах и похуже, и приходилось разбираться в них.
Ну а остальное — у вас похоже попросту «пригорает» что кто-то не следует вашим правилам в вашем выдуманном мирке лицензий и такого «замечательного» опенсорса («бесплатное» не равно «лучшее», это как тендер выиграть — всегда выигрывает тот, кто предложил шлак, кое-как соответствующий ТЗ и самый дешевый по деньгам, вот опенсорс и берут все — легко украсть, не надо писать свое).
Ну да, есть такие люди которые думают не как вы и делают не как вы. Мир разнообразен. Привыкайте.
Я смотрю, для вас это чувствительная тема чтоб вот так много лить текста) Но я отвечу.
Конечно чувствительная тема, не люблю знаете ли всяких пафосных товарищей с ЧСВ раздутым до самых небес, но не имеющих не малейшей компетенции в области о которой он рассуждает.
Форки дадут множество копий кода, качество которого не будет соответствовать моим стандартам
Ну и вам то с этого что?
Я как Нинтендо. У меня достаточно эксклюзивное ПО с закрытым исходным кодом.
И сколько у вас пользователей? Хотя бы 10 тысяч наберется? Продажи Nintendo Switch более 30 миллионов экземпляров.
Эксклюзив это скажем Microsoft Office, да он ужасен с точки зрения моего пользовательского опыта, но лучше ни сделал никто. Различные LibreOffice или Google Docs еще хуже.
Ну или какие-нибудь игры, но тут уж вкусовщина.
Сделает-не сделает — но винда лицензионная в окне «О программе», есть не просит, не ругается, все возможности открыты.
Сборка Windows 10 PRO-COOLHACKER-ZVERCD от Va$an-1337 тоже лицензионная в окне «О программе» и тоже есть не просит. (А еще может иметь вшитый радмин или кейлоггер)
Так, подождите, windows 10 — проприетарное ПО, исходников ни у кого кроме майкрософта нет, но при этом есть сборки, в том числе и с вредоносным функционалом. Откуда же они берутся? Вот вам домашнее задание, подумать над этим вопросом.
Если майкрософт деактивирует лицензию за нарушения очередной лицензии еула-уюла
Вот видите, вы даже в такой мелочи не готовы уважать чужой труд и так презрительно отзываетесь про EULA (End user license agreement что в переводе означает лицензионное соглашение конечного пользователя или более литературным языком — «пользовательское соглашение». А, как известно, соглашение — вещь добровольная, можно не соглашаться раз не нравятся условия).
Если что я не вижу ничего принципиально плохого в этих самых ключах, но вот вводить других людей в заблуждение «лицензию на windows можно купить за 150 рублей» не надо.
Мои продукты эксклюзивны и обладают набором возможностей, которых в таком сочетании нет в другом ПО
А давайте тут применим вашу же логику. «Просто ваши продукты никому толком не нужны, есть 3.5 пользователя, вот потому никто и не ведет качественную коммерческую разработку из-за невозможности отбить затраты.»
Очередные заверения «оо ваш код и проги ничего не стоят, скорее раскройте их» — смешно, вы свои поделки можете раскрыть на здоровье, а от других ничего вы требовать не можете.
Дружище, где вы такое увидели от меня? Ниже в комментариях я прямо писал что выкладывать исходники или нет — целиком и полностью личная позиция каждого разработчика. Не хотите выкладывать — не выкладывайте свои поделки, это целиком и полностью ваше право (при условии что вы, разумеется, не использовали в них какие либо библиотеки или фрагменты исходного кода прямо требующие обратного в силу лицензии (но даже если вы использовали GPLv3 библиотеку можно не выкладывать, а лишь отправлять исходники тем кто легально приобрел ваше ПО)), но вот оскорблять тех кто имеет другую позицию касательно исходников не надо.
Когда исходники открыты — в России их можно украсть и запихать в любое ПО, как открытое, так и проприетарное. Пока будете доказывать что у вас что-то там украли — если наедете на простых людей, то просто 5 лет потратите на возню, если на людей посложней — то сами можете пострадать, наши суды в таких случаях действуют совсем не по закону, а по знакомствам, деньгам, связям и желанию конкретного судьи, решение которого вы будете потом до старости обжаловать в вышестоящих инстанциях у других подобных судей.
А если вы попадете на совсем не простых людей — вы сами добровольно отдадите исходники (даже если их потеряли) и будете рады что так легко отделались.
Так что не надо ничего писать, это единственный способ защититься от кражи интеллектуальной собственности.
Открытый код — общее достояние, на воображаемые лицензии все кроме фанатиков-опенсорсеров кладут хрен. Вы живете в мире фанатиков-любителей лицензий, которые думают что защищают код, выкладывая его в открытый доступ с припиской «я разрешаю то, еще то и сё, а запрещаю вон то и то». Но настоящий мир отличается от вашего.
Уголовный кодекс тоже всего лишь книжка в которой сказано «нельзя делать то, то и то, а вот за это вообще казнят» по вашей логике. А в настоящем мире почему-то до сих пор происходят преступления. Так что УК — тоже ничего не значит. Это все ваша логика.
Единственная защита — не дать возможности забрать код вообще никаким образом.
Именно, а чтобы его вообще никак нельзя было забрать даже при помощи терморектального криптоанализа — надо чтобы кода в принципе не было. Так что скорее бросайте разработку программного обеспечения.
Как я и написал повыше в этом ответе — опенсорс пишут безмозглые идиоты на 99%.
Давайте снова применим вашу логику снова. «А с чего вы взяли что вы умный? Единственная разница между вами и тупыми безмозглыми безработными опенсорсерами — это то что вы не выкладываете исходники. А в остальном вы одинаковы, и вы и они бесплатно что-то пишите и бесплатно раздаете. Для конечного пользователя между вашей поделкой и VLC нет никакой разницы, скачай setup.exe и запусти.
(И не подумайте ничего плохого, я не собираюсь вас как либо задеть) А еще вы вынуждены пользоваться совсем странным железом, и железо это настолько ужасно что не в состоянии запустить браузер, а ваш личный ноутбук имеет экран 1024х600. Хотя один из самых дешевых ноутбуков у которого экран будет с приличным разрешением (Full HD) и мощности хватит чтобы запустить хромиум с десятком вкладок стоит 12 тысяч рублей (причем новый), правда возможно придется ставить дополнительный накопитель ибо основной всего 32 гигабайта (либо можно накатить LTSB версию той же десятки, если линукс не нравится). Думаю на авито такой же можно тысяч за 7 приобрести.
В общем это наводит на неприятные мысли касательно вашей ценности на рынке труда.»
Так вот, применяя вашу же логику, почему вы не идиот как 99% тех кто пишет открытый код?
Если была бы возможность вместо этого закинуть на сайт какой-нибудь исполняемый файл, который реализовал бы работу форума — я бы скачал его вместо исходников
Так можно же закинуть исполняемый файл. Просто купить себе лицензионный битрикс, возможно даже купить непонятно откуда взятый ключ за 150 рублей и в окне «о программе» будет написано что у вас лицензия.
Нет никаких требований что использовать на запуск опенсорс-проги могут только те, кто «верят в опенсорс».
Конечно нет таких требований. И о том чтобы всех окружающих не поливать поливать оскорблениями (без мата, тут в силу вступает КоАП или его аналог) тоже требований нет, но в обществе такое почему не одобряется. Еще нет каких-либо требований не называть всех кто зарабатывает менее N тысяч рублей в месяц «тупыми безмозглыми нищебродами не способными заработать нормальные деньги», но и это тоже не одобряется в обществе. Владимир Ильич Ленин сказал: «Жить в обществе и быть свободным от общества нельзя». Подумайте над этим. (Вообще объяснять это школьнику — нормально, но объяснять человеку которому идет четвертый десяток — странно)
Я в этом плане атеист))
А в тюрьмах сидят атеисты в плане уголовного кодекса.)))
Если в браузере (парсере текста HTML-кодов) критическая уязвимость, то это ваши проблемы. Вы скачали и запустили прогу на свой страх и риск. Это вообще-то с любой прогой так на ПК. Только если вы бы купили у меня что-то и заключили со мной договор, то мы прописали бы там условия на разные случаи жизни. А т.к. никаких договоренностей нет между нами — то все проблемы это только ваши личные проблемы
Тогда в чем ваша ответственность заключается?
Если я вдруг сдохну или просто перестану делать браузер — то просто появится последняя версия, после которой новых версий не будет.
Применим снова вашу логику. «Невелика потеря, недобразуер который даже js не поддерживал, и разработанный тем кого не взяли в нормальную команду и у кого не было денег купить себе нормальный планшет на windows.»
Насчет кода — неважно каков он, важно какой win32 код на выходе, сколько в нем багов и насколько удобно вообще прогой пользоваться, я пишу прогу не для чужих кодеров, а для юзеров, запускающих исполняемые файлы.
Хорошо, вы гипотетически потеряете память и вам придется в этом коде разбираться с нуля. Или же спустя 5 лет после того как решили что он идеален — добавить новую фичу. Удачи разобраться с этим поделием.
Написать код понятый компилятору может любой идиот, а вот написать код код который будет понятен человеку уже не всякий может.
Или завтра Майкрософт решит что win32 устарел, переходим на win64 (условно), а послезавтра на всех компьютерах будет с очередным обновлением удалена подсистема win32. (Роллинг релизы они такие. Непредсказуемые). Удачи вам это переписать.
Ну и если у вас код «if A and B then begin C := D; E := F; end;» или отсутствие табуляции вызывает ужас — обратитесь к докторам.
Меня ужасает checkbox100500. А отсутсвие табуляций — это как если бы я вам тут весь комментарий вывалил без пробелов. Прочитать то можно, но сколько это займет в сравнении с нормальным текстом? Я вот когда веду чисто личные заметки для себя — соблюдаю правила орфографии (И вроде бы даже знаки препинания расставляю, хотя с этим у меня все гораздо хуже). Хотя те тексты вообще никто не будет кроме меня читать.
Вы классы тоже так называете? Class1, Class2, Class3. А детей? Ребенок1, Ребенок2. Или все же чуть осмысленнее: Дочь1, Дочь2, Сын1, Сын2? А домашних животных: Собака1, Собака2, Кошка1, Кошка2, Кот3, Канарейка1?
Это нормальный код, уверяю вас, я видел в чужих проектах и похуже, и приходилось разбираться в них.
Это знаете, как вместо того чтобы пойти помыться вы бы сказали «а че, я всего лишь в земле испачкан, вон там вообще в крови и навозе измазанные люди есть, грязь — вещь нормальная. А если вам грязь не нравится — иди к доктору».
И вот чтобы с таким не разбираться — я бы и добивался чтобы вас уволили.
Ну а остальное — у вас похоже попросту «пригорает» что кто-то не следует вашим правилам в вашем выдуманном мирке лицензий
Дружище, я нормально отношусь к проприетарному ПО, и даже, представьте себе, его покупаю, даже windows на моем компьютере — лицензионный (Да ключ получен был еще в студенчестве бесплатно, но легальным образом).
И вообще я уважаю право разработчиков лицензировать свое ПО так как им вздумается. Хочет разработчик чтобы его программа была бесплатной, но без исходников? Пожалуйста, его право. Автор выкладывает свое ПО и в довесок к нему исходный код? Отлично, если вдруг понадобиться доработать для своих нужд — пригодиться. Автор хочет денег? Ну тут варианты бывают, либо я соглашаюсь с ценой, покупаю и спокойно использую, либо удивляюсь от цены и ищу замену.
такого «замечательного» опенсорса («бесплатное» не равно «лучшее», это как тендер выиграть — всегда выигрывает тот, кто предложил шлак, кое-как соответствующий ТЗ и самый дешевый по деньгам, вот опенсорс и берут все — легко украсть, не надо писать свое).
Да что вы говорите, вы еще скажите что телефоны vertu дорогие потому что лучше каких-то там сяоми или самсунгов. Дорогая, а значит качественная Windows 10 не в состоянии загрузиться сама если ей по какой-то причине заменили видеокарту с nvidia на amd и приходиться бить в бубен. А бесплатный и некачественный линукс (написаный безработными безмозглыми школьниками разумеется) грузится в VGA (или 1024*800, не помню если честно, да и не имеет это никакого значения) режиме и позволяет удалить старые драйвера (даже через графические кнопочки, если консоль — прошлый век), и поставить на их место новые, и после уже грузится в нормальном разрешении.
Ну да, есть такие люди которые думают не как вы и делают не как вы. Мир разнообразен. Привыкайте.
Именно, привыкайте, друг мой, а не визжите о том что «опенсорс пишут бездарные безмогзглые тупые идиоты и труд их бесполезен».
И попробуйте применить свою же логику по отношению к себе любимому. Не думаю что вам понравится. Я вот применил вашу логику по отношению к вам, и даже мне не понравился результат.
Я уже с Востриковым наспорился. Он похож на вас. Пишешь ему 5 доводов — он 5 ответов. Ему опять 5 доводов — он 7 ответов. Ты ему 7 доводов — он тебе 10 ответов. Потом его ответы начинают повторять ранее отвеченное и так по кругу. Я сначала подумал «может кидать на каждый ответ ссылки на другие комменты, что по десять раз распинаться», но потом понял что это пустая трата времени, т.к. он свои доводы считает верными, а когда ему покажешь «вон есть альтернативное мнение некоторой группы людей что опенсорс — это явное овно», то он сразу визжит «а не хочу читать, подмена понятий и фактов, хотите доказать что правы показав чужие мнения». А я ничего не хочу доказать. Собака лает (такие как вы изливаете тут простыни непонятных символов) — караван идет (проприетарное качественное эксклюзивное авторское ПО по конкретной задумке с последовательно достигаемыми целями, фидбеком и результатом делается).
Ну я, короче, все равно буду писать проприетарное качественное ПО. И считаю, что такое ПО, написанное с конкретной целью и с желанием его доделать до определенного конца — гораздо лучше «работы» разрозненных опенсорсеров, разбегающихся как мыши от проекта к проекту. То что пять коллективов сделали Firefox, Chromium и еще пару тройку известных прог — ничего не значит. Множество коллективов «бесплатного опенсорса» кормится от конкретных фирм, спонсирующих их «бесплатную» деятельность. Как только спонсорство пропадает — эти «бесплатные» деятели разбегаются, т.к. хотят кушать, а не сидеть как лохи, тратить время и программировать забесплатно какой-то жалкий кусок кода непонятно вообще для чего, и проект глохнет.
Никогда не почувствуешь свой проект если не напишешь его сам и не будешь отвечать за него сам. Никакой опенсорсер, дописавший по две строчки в десять проектов, и гордо задирающий нос «ооо, я помог сообществу бомжей и безработных» не равен настоящему заинтересованному кодеру, который пишет софт ради именно хорошего результата. Не участвует то там, то тут, то сям, а берет с нуля и до самого конца тянет на себе проект, формирует его, улучшает его, меняет в угоду мнениям юзеров и своим предпочтениям. Это как человек, создавший двести лет назад фирму, например, известную пекарню, мастерскую или цех по пошиву одежды, он старался держать марку, следить за качеством, создавать новое (а не слепо копипастить друг у друга как опенсорсеры-коммунисты) и модернизировать созданное. Это человек который от начала до конца прошел этот путь. Он не бегал с завода на завод, с пекарни на другую пекарню. Он сел и делал свое дело. И он не набирал бесплатную команду ноунеймов-школьников, т.к. это повредило бы делу. И люди не работали у него забесплатно, как опенсорсеры. И «хочешь сделать хорошо — сделай сам».
Я так и поступаю. Пока я один — все в моих руках. Я обеспечиваю своим программным продуктам необходимую доработку, модернизацию, поддержку, превращение одних продуктов в другие (перетаскивание наработанных технологий из одних своих продуктов в другие свои, более новые).
Так что я продолжаю делать то, что делал. Результаты наработок (готовые продукты, идеи и их реализации, интерфейсы, но не исходники) также буду публиковать на различных ресурсах чтобы другие подобные мне товарищи могли вдохновиться и писать сами, а также пользоваться результатами моей деятельности.
Так что давайте досвиданья.
«Каждый
P.S. Читаю ветку с интересом.
Ты ему 7 доводов — он тебе 10 ответов. Потом его ответы начинают повторять ранее отвеченное
Ну так кто ж виноват, что вы не пытаетесь понять что вам пишут и продолжаете повторять одни и те же глупости, которые объясняются уже данными ответами)
Я сначала подумал «может кидать на каждый ответ ссылки на другие комменты, что по десять раз распинаться»
Какая разница, в каком виде вы пишете неправильные выводы? Вы думаете, если 10 раз повторить глупость, она станет правдой?
т.к. он свои доводы считает верными,
Я считаю ваши доводы неверными. И привожу доказательства в виде конкретных примеров с открытым кодом и цитат из ваших комментариев касательно вашего кода. Вы привели 2 ссылки на статьи, в которых не написано то, про что вы пишете тут. Ни в одной из них нет слова "школьник" или "форк", нет статистических исследований или даже просто выводов о квалификации большинства программистов, нет рассуждений про вредоносный код и компрометирование. Более того, в этой статье, на которую вы неоднократно ссылаетесь, черным по белому написано:
"Итак, в прошлый раз я представила здесь мнение «Почему Open Source — это хорошо?»"
"Напоследок скажу, что и OpenSource, и коммерческое ПО хороши"
"следующий пост этой серии будет о том, как платные коммерческие программы можно заменить на бесплатные и\или Open Source аналоги"
"Может быть, эти минусы и немного притянуты за уши"
а когда ему покажешь «вон есть альтернативное мнение»
Ну и что, что оно есть? Это как-то обязательно свидетельствует о том, что все что вы говорите на ту же тему, является правдой? Более того, с теми статьями я согласен, а с вами нет.
Я уже с Востриковым наспорился. Он похож на вас. Пишешь ему 5 доводов — он 5 ответов
О ужас, вам в дискуссии приводят доводы. Какой кошмар. Боже какой же я дурак, я то думал что так и строится нормальная дискуссия, на доводах и аргументах. Посыпаю голову пеплом.
А чего вы хотели? Чтобы я сказал «О, вы же смогли сделать невозможное, по открытой спецификации и имея кучу примеров перед глазами написать HTML-парсер. Вы же Гений с большой буквы, все ваши мысли — верны по определению»? Или «эээ, слыш, пошел ты в [УДАЛЕНО], и мнение свое [УДАЛЕНО]. [УДАЛЕНО]»?
Дружище, вот еще одно ваше горе. Вы не способны к дискуссии в свои 34 года. Это нормально в 13 лет, с натяжкой нормально в 17 лет, и терпимо в 68 лет. Но вам то 34 года.
«вон есть альтернативное мнение некоторой группы людей что опенсорс — это явное овно»,
Открываем статью и что мы видим «Может быть, эти минусы и немного притянуты за уши, но, если уж писать о положительных сторонах Open Source, нужно затрагивать и отрицательные моменты, с которыми может столкнуться пользователь.»
А вот тот же самый сайт и даже автор тот же самый.
И вот очередное ваше горе, вы хотите видеть только то что вы хотите видеть.
То что пять коллективов сделали Firefox, Chromium и еще пару тройку известных прог — ничего не значит
Зато коллектив проприетарных продуктов смог разработать internet explorer 6.0. Ой, плохой пример. Зато опера. Ой, и она умерла. Ну ничего, edge классный браузер. Ой, и его закопали.
Никакой опенсорсер, дописавший по две строчки в десять проектов, и гордо задирающий нос «ооо, я помог сообществу бомжей и безработных» не равен настоящему заинтересованному кодеру, который пишет софт ради именно хорошего результата
Дружище, вы правда думаете что внести изменения в любое проект просто? Вы думаете что есть какой-то один компьютер на котором лежат исходники и любой бомж может их изменить. Боже.
Я так и поступаю. Пока я один — все в моих руках. Я обеспечиваю своим программным продуктам необходимую доработку, модернизацию, поддержку, превращение одних продуктов в другие (перетаскивание наработанных технологий из одних своих продуктов в другие свои, более новые).
А чем ваш труд не сизифов. На вашем сайте в месяц посещений аж тысяча человек.
И что вы создали? Браузер что не поддерживает js, ах простите парсилку HTML? Кривой-косой аналог paint который хуже gimp'а с парой плагинов? Это все уровень курсовой работы более менее нормального вуза не топового уровня для программерской специальности. И с этой задачей справится любой студент который сам учится.
Чем вы отличаетесь от «тупых безработных безмозглых бездарных бомжей опенсорсеров»? Вы точно также пишете что-то бесплатно и никто судя по всему не хочет ваши «проги» покупать. Чем вы принципиально отличаетесь от тупых опенсорсеров?
Вот представьте что я пенсионер что никогда не слышал про опенсорс. Попробуйте мне объяснить почему опенсорсеры «тупые безработные безмозглые бездарные бомжи», а вы не такой.
Доктор, не лечите меня, а? =) «бубубу должен к 34 годам то-то и то-то, это беда...». Вы в зеркало на себя посмотрите когда это пишите. Насупив брови и раздув ноздри вы решили судить кого-то потому что вам наступили на опенсорс. Но он остается овном, смиритесь.
Если в статье написано что «минусы притянуты за уши», то вы облегченно вздыхаете «а, ну тогда должно быть это плюсы». Но это минусы, и никуда они не делись.
Толпа неизвестных бесплатно-работающих бичей более дезорганизована по сравнению с одним заинтересованным человеком. Можете сколько угодно спорить с этим. Но это факт. Одному человеку ничего не нужно делать чтобы самоорганизоваться, постараться, сделать что нужно, поддерживать проект, отвечать на вопросы по всем интересующим темам. Потому что он делал его один и знает как свои пять пальцев любой уголок кода.
Опенсорсный проект держит некий «лидер», который должен мучиться, страдать и понимать творения других кодеров, скилы которых весьма разнятся (привет несчастному habr.com/ru/post/169339 ). Он заранее приносит свой код в жертву, обрекая его на возможность плагиата, и сидит ждет помощи от масс. Там в массах среди пришедших будут и сверхталантливые (хотя это маловероятно, они таким бесплатным овном не занимаются, они получают хорошие деньги в хороших местах), и середнячки (несчастные обреченные люди, решившие вступить в такой коммунизм и вместе с непонятной массой делать что-то вместе забесплатно), и совсем утырки (пришли ради строчки в резюме «участвовал в опенсорсе», пришли из девятого бэ покодить, неадекваты всякие и другие замечательные люди). Мне неохота быть таким лидером и разгребать за ними. Мне неохота потом, спустя N-ное время при возникших проблемах понимать их куски кода, которые я не писал, но просматривал, и оттого слабо помню.
Поэтому опенсорс — не вариант. Это дичь, а не разработка. Хотя, кому-то может и нравится вместо своего красивого (вы же стараетесь когда пишете) и продуманного, отлаженного и сверенного с документацией кода — бороться с чужой писаниной. Но сколько уйдет на это времени, сколько труда по исправлению чужих косяков.
upd: у вас в голове как-то получается, что бомжи, наркоманы, алкаши, школьники — все они за бесплатно пишут код, и еще засылают его в репы опенсорсного софта, да ещё в таком количестве, что несчастный автор вынужден буквально разгребать эти реквесты… Вы не понимаете, какой бред вы сами пишете?
Вам приходит большое количество писем. Разгребать баг репорт и менеджить issue tracker это уныло.
Приходят патчи. Ревью это классно когда вам присылают хороший код. Или интересный решения. Но часто это будет так себе. Или очень плохо. И тогда code review это тоска.
Поддержка Open Source проекта это не fun. Это сложно и скучно
Поэтому я выбираю одиночный кодинг. А если одиночный — то и исходники показывать никому незачем)
бесплатно-работающих
бесплатным
забесплатно
Но ведь вы тоже делаете программы бесплатно. Почему когда бесплатно делают другие это плохо, а когда делаете вы это хорошо? Это не риторический вопрос, я серьезно спрашиваю, ответьте пожалуйста.
Я даже цитату приведу оттуда еще раз. Написал пять раз это в разных комментах. Напишу и шестой:
Толпа неизвестных бесплатно-работающих бичей более дезорганизована по сравнению с одним заинтересованным человеком. Можете сколько угодно спорить с этим. Но это факт. Одному человеку ничего не нужно делать чтобы самоорганизоваться, постараться, сделать что нужно, поддерживать проект, отвечать на вопросы по всем интересующим темам. Потому что он делал его один и знает как свои пять пальцев любой уголок кода.
Опенсорсный проект держит некий «лидер», который должен мучиться, страдать и понимать творения других кодеров, скилы которых весьма разнятся (привет несчастному 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%. До тех пор пока он не бросит прогу. Тут не надо одним разбираться в коде других (уже сваливших в другие места на другие проекты), тут один человек отвечает за все и знает все. Это проще, это удобнее, это жизнеспособней. Как только он бросит прогу — все, прога больше не имеет обновлений. Но пока этого не произошло, пока он сам пользуется своими наработками — прога живет на полную, вы всегда получите полную поддержку по ней, помощь, исправление багов и т.д. и т.п. Заинтересованный автор почти равен платной соло-разработке, это на голову выше бесплатной массовой.
Вот почему.
Толпа неизвестных бесплатно-работающих бичей более дезорганизована по сравнению с одним заинтересованным человеком. Можете сколько угодно спорить с этим.
А с этим никто не спорит. Только это имеет отношение к вашим фантазиям об опенсорсе, а не реальном положении дел. Вы судите об опенсорсе по своим ложным представлениям. Он неидеален, но он несоизмеримо лучше того, что вы расписываете. Бичи и бомжи не пишут код. Код пишут вдохновленные какой-то идеей люди, такие же как вы. Вся разница принципиальная с вами — что им другие люди помогают, а вам нет. И качество опенсорсного кода в больших проектах обычно высокое. А на ваш код полхабра взвыло.
Отсутствие табуляции и бессмысленные имена переменных — это основы основ, правила написанные выкинутыми на помойку человеко-годами, которые любой человек начинает применять практически сразу. За такой код при работе в команде немедленно ебут, это неуважение и к другим, и к себе. Но главное, еще раз, не это. Если вы не соблюдаете простейших правил, можно только догадываться какая дичь творится в остальном.
if A and B then
begin
C:=D;
E:=F;
end;
Это бред. Другой человек бы сразу вас послал. А я решил поинтересоваться что вас не устраивает. Открыл эту коробку ваших мыслей — и вижу там «чекбокс» и «нету табуляции». Для меня это смешно, но я, прикрывая рот рукой, спрашиваю дальше «Вы это серьезно?». И вы на полном серьезе продолжаете гнуть линию что такой код «ужасен». Тут единственное, что можно сделать — остаться каждому при своем мнении. Для меня это простейший код какой только может быть, он не ужасен, не прекрасен, он элементарен почти как A:=B, и обсуждать его красоту — только тратить время почем зря.
Вот почему: habr.com/ru/post/465709/?reply_to=20622543#comment_20621943
Я даже цитату приведу оттуда еще раз.
А ничего, что это и есть тот комментарий, про который я задал вопрос?
Еще раз, вы говорите, что бесплатно разрабатывать плохо, что те кто так делают нехорошие низкоквалифицированные люди, что бесплатность это причина низкого качества ПО, что надо делать это за плату, но сами так не делаете, тоже разрабатываете бесплатное ПО, у вас тоже нет оплаты вашей деятельности. Почему когда другой человек разрабатывает ПО бесплатно это плохо, а когда вы делаете то же самое это хорошо? Или может все-таки бесплатность разработки сама по себе ничего не означает?
Я вас спросил нормально и вежливо, сформулируйте пожалуйста ответ тоже нормально, начиная со слов "Потому что", а не в стиле "вот вам куча текста, сами разбирайтесь, что я хотел сказать".
Есть мультибоксеры, например. Они сразу играют с одного компа кучей персов, обычно в пять дд сразу наносят пятикратный урон. Это я и есть — мультибоксер. Я взял сразу на себя управление всеми членами команды (точнее я и есть все члены команды).
А есть рандом-группы, которые собираются случайно. Там конечно есть танк (жирный дд в случае пвп), хил, несколько дд, они тоже могут бегать впятером. Но если там попадется нормальный танк и хил, одетые опытные дд, объединенные войсчатом, сработавшиеся годами, то они кое-как затащат и может победят в ПВП в открытом мире или на БГ. А если хил отстойный, читай пришел в команду опенсорсер, который присылает как вот тому челу habr.com/ru/post/169339
Но пулл риквесты:
* часто бывают плохие. И не всегда потому что разработчик плохой. Он просто может не до конца разобратся в вашем проекте.
* бывают и такими
* требуют ревью, тестирования и все равно в конечном итоге что-то упустите. А потом исправлять и ругаться.
* сьедают ваше время
* это код который вам потом прийдется поддерживать
Забавно что и сам лидер пишет с ошибками типа «прийдется» и «разобратся», значит он недалеко ушел от своих бесплатных сотрудников опенсорс-проекта.
Так вот, если хил отстойный, то все сдохнут. Их убьет мультибоксер по одиночке вжаривая каждого. Также как и хитрый одетый рога убьет (или потреплет нервы как следует), постоянно уходя в невидимость и выбегая из нее с очередным станлоком.
Т.е. если функции сосредоточены на одном человеке — он делает качественно просто из своего желания, даже забесплатно.
Если функции рассредоточены на нескольких людях то:
— бесплатные работники могут творить дичь и их не приструнить, они не обязаны ничего делать, их не брали на эту работу через 10 собеседований, они просто ддосят основного лидера своей чушью, а он вместо того чтобы писать проект как одиночка, вынужден разбираться в чужом говнокоде, обсуждать, принимать, отказывать. КПД такой разработки низок если члены команды не семи пядей во лбу (а обычно так и бывает, редкий опытный крутой человек будет забесплатно сидеть в бесплатной команде школоты и тащить их вверх). Остается выгнать всех, кто неопытен, чтобы они не ддосили лидера своими писульками, и взять все управление на себя, превратившись в одиночку-разработчика. И тогда можно и исходный код спрятать, т.к. как я в самом начале писал — при одиночной разработке выгоды выкладывания всего кода нет. Можно по просьбе интересующихся кодеров — помочь им с алгоритмом определенным, если им понравилась моя реализация и они хотели посмотреть определенные части кода. Но не более того. Весь код — собственность автора.
— платные работники не будут творить чушь, т.к. они понимают что их легко заменить на других, и они пришли сюда не просто как те ребята из соседнего пункта, а их наняли чтобы они делали дело.
Отсюда я почти уравниваю бесплатную соло-разработку с платной-соло или платной массовой разработкой. Единственное в чем она хуже платной — денег не дают, оттого мотивация более низкая, остается довольствоваться донатом и платными донат-версиями того же бесплатного ПО.
Не играл я в мморпг. Я же просил сформулировать ответ явно, а не в виде аналогий, о смысле которых каждый должен догадаться сам.
Т.е. если функции сосредоточены на одном человеке — он делает качественно просто из своего желания, даже забесплатно.
Ну то есть причина не в бесплатности, а в желании делать свою работу хорошо. Что и требовалось доказать.
Оплата это просто форма выгоды, которую получает разработчик, делая работу хорошо. Но бывает и другая выгода, нематериальная. Так же из ваших слов следует, что если у проекта один разработчик, с большой вероятностью можно ожидать желание сделать качественно, даже если по желанию автора код доступен другим.
Поясню еще пару моментов, раз уж вы опять кучу текста написали.
бесплатные работники могут творить дичь
Нет. С вашим проектом без вашего разрешения творить никто ничего не может. Никто не сможет поменять ни один байт кода. Могут скопировать код и поменять в своей копии, которая так и останется никому не нужной копией.
при одиночной разработке выгоды выкладывания всего кода нет
Ну одно да потому. Есть. Только не материальная. А из вашего вывода получается, что вы считаете, что единственная выгода, которая вообще может существовать, это получить бесплатно работу других. Для вас возможно это так, для других нет.
Я вообще сомневаюсь, что где-то в мире есть разработчики, которые выкладывают код только для того, чтобы им помогли с разработкой. Это появляется потом, как следствие открытости кода, а не как причина. И то, если проект вдруг кого-то заинтересует.
На всякий случай еще раз повторю — я не агитирую вас выкладывать исходники, мне они не нужны, я говорю что вы не должны оскорблять других людей на основе своих домыслов.
Не играл я в мморпг. Я же просил сформулировать ответ явно, а не в виде аналогий, о смысле которых каждый должен догадаться сам.
Возможно, ТС просто троллит сообщество. Не исключаю что есть люди с таким мнением, но в комментариях к посту больше половины — споры об OpenSource и мнении «спорящих сторон». Если бы не это, под данной статьёй было бы куда меньше комментариев и интерес к теме быстро пропадёт.
Но может быть я ошибаюсь.
Но в этот раз мое желание проприетарности моих наработок и показ исходного паскаль-кода длиной в 10 строк разбередили раны опенсорсеров и кодеров-рабочих, которых где-то там где я никогда не был дерут за каждую лишнюю точку с запятой или табуляцию, и тут всё заверте… +)
А рядом стоит другая фирма, в ней мастер выбежал на улицу и кричит «помогите мне с работой, идите работать ко мне». У него спрашивают «сколько заплатишь?». А он отвечает «я ничего вам не заплачу, но зато вы получите удовольствие от того чтоб потратите время и поучаствуете в 1/1000 части моего проекта». В итоге все с ужасом шарахаются от этого сумасшедшего мастера, но все-таки на таких условиях работы собираются к нему бомж с лавки в парки, алкаш со двора, и школьник, который прогуливает школу. Всех этих товарищей объединяет одно — им нечего делать и есть свободное время и необычные (извращенные) вкусы «допишу две строки в чужой проект и получу удовольствие». Потом они участвуют в этой работе, сочиняют всякий бред в пределах своего опыта лежания в парке/сна под деревом во дворе/прогуливания школы, мастер тратит свое время не на работу над проектом, а на разборы, отсеивание, проверку, отладку этих «результатов» бесплатной их работы. А заодно вываливает это все во двор и ставит табличку «Хотите поработать над этим забесплатно — заходите!». Проходят дни, месяцы, годы, бомжи, алкаши, школьники сменяют друг друга. В проекте у лидера уже давно не осталось ничего личного, этот кусок кода писал не он и не помнит как оно работает, а тот кто писал — давно ушел из проекта, другой кусок тоже не он. Приходят жалобы от юзеров, надо поддерживать, отлаживать, а там наворочено с три короба от 100 авторов по кусочку в различных стилях, подходах, методах и лидер вынужден мучаться и поддерживать это все в работе.
В итоге у первого мастера годный продукт если он просто выдержал проверку временем и в течении N лет поддерживал его, модернизировал, пользовался им и доставлял радость от его использования себе и другим. Он готов всегда поправить любое место, добавить фичи, модернизировать старые функции/форматы файлов/виды обработок до более современных и используемых сегодня. Он ответственен за весь продукт целиком. Он и есть его автор. На нем вся ответственность. И на нем все косяки. Он доволен и рад.
А у второго мастера — как повезет. Если вдруг ему посчастливится (N процентов случаев) и у него не появится весь этот ворох проблем habr.com/ru/post/169339, то он напишет фаерфокс или хромиум и завоюет всеобщее признание тем что смог запрячь бомжа, алкаша и школьника в тройку и стегая их по спинам кнутом, постоянно меняя одних на других, добиться чтобы они его привезли в нужное место.
И по мнению большинства опенсорсеров нижеописанное происходит в 100% случаев: толпа школьников, бомжей и алкашей обгоняют того первого мастера-одиночку по скорости разработки, в 100 раз быстрее него одного пишут код, слаженно вставляют все это в исходники, лидер не нанимая платных ревьюверов и иных нормальных оплачиваемых сотрудников сам ворочает разросшимся гигантским проектом, наизусть знает все его уголки словно он сам все это писал и с легкостью выходит из любых ситуаций глюков/забагованности/иных проблем с ПО, которые стекаются к нему в виде замечаний от юзеров.
Всё ясно. Я был не прав. Открываю код. Больше не буду делать ничего сам, за меня все сделают они. «Псс, школьники, бомжи, алкаши, идите ко мне, не хотите немного бесплатно покодить на меня? а?»
Всё ясно. Я был не прав. Открываю код. Больше не буду делать ничего сам, за меня все сделают они. «Псс, школьники, бомжи, алкаши, идите ко мне, не хотите немного бесплатно покодить на меня? а?»
это неверный ответ. привожу более правильный, которого от вас не дождешься:
Всё ясно. Я был не прав. Я оскорбил многих хороших программистов, которые пишут хорошие программы и при этом хотят, чтобы они стали достоянием общества. Больше не буду называть незнакомых мне людей школьниками, бомжами и алкашами только потому, что они дарят своё творчество, намного более качественное чем я думал, другим людям
— во-первых, говно,
— во-вторых, никому не нужен, т.к. это не код фейсбука или windows или продаваемой игры на ps4».
Я достаточно подробно расписал почему open source по своей сути (имхо) еще большее зло чем соло-разработка (с закрытым кодом, когда ты никому и ничего не даешь, жадина такая!) и почему я не желаю (и никому не советую) переходить на него в любой форме: хоть просто открыть исходники, хоть дополнительно дорабатывать свои программы совместно с непонятными незнакомыми мне людьми, дарящими своё творчество в большинстве случаев в виде разнообразного говнокода, заполонившего интернет, хрен пойми куда и зачем вместо того чтобы каждому такому деятелю сесть и делать свои собственные интересные и качественные проекты в рамках длительной упорной разработки, а не участвовать во всяких сомнительных массовых мероприятиях, работая на чужих людей забесплатно.
Это уже похоже на троллинг, напишу ответ просто чтобы ссылку привести.
А рядом стоит другая фирма, в ней мастер выбежал на улицу и кричит «помогите мне с работой, идите работать ко мне».
Нет. Никто так не кричит. Ни в прямом, ни в переносном смысле. Вот совсем никто.
В итоге все с ужасом шарахаются
Нет. Ни все, ни большинство. Большинство как раз все понимает, даже если сами так не делают. Более того, требование иметь код, который можно посмотреть, настолько часто встречается при устройстве на вакансии (на работу за деньги, причем в довольно крупные компании), что это считается проблемой.
Зато опера. Ой, и она умерла. Ну ничего, edge классный браузер. Ой, и его закопали.Ну вот не надо тут, Opera и Edge нормальные продукты (и даже IE 11 не так плох). То, что их закопали — проблема и вина маркетологов и руководства, а не криворукость разработчиков или идеологическая «неправильность» данных проектов.
Дружище, вы правда думаете что внести изменения в любое проект просто? Вы думаете что есть какой-то один компьютер на котором лежат исходники и любой бомж может их изменить.Ну, вообще-то это так. Тут даже на Хабре лет 5 назад был пост, как человек за 3-4 дня внёс в код Хромиума 2 пулл реквеста, один из который сразу приняли после ревью (там была какая-то съехавшая кнопка в одном из вспомогательных окон). Так что, если программист достаточно толковый, он разберётся в нужном участке кода и пофиксит его достаточно быстро. Вот добавление новой функции — другой вопрос. Но такое обычно сначала согласовывается с лидерами проекта, а надо ли вообще оно.
Но вы не правы в том, что «код не лежит на одном компьютере». Он скачивается из Git/SVN репозитория парой команд, нужно только время на скачку. Более того, нормальные проекты предоставляют ещё и подробную инструкцию по настройке рабочего окружения (компилятор, IDE, вспомогательные утилиты). Да, это день-два возни, но в этом нет ничего невозможного.
всякие безработные бездари сидят и пишут шлак забесплатно
всем вместе забесплатно сидеть и пыхтеть
BlackStrip Studios присутствует уже 15 лет (с 2004 года) на рынке проприетарного бесплатного ПО
Так если забесплатно писать это шлак, значит ваши программы тоже шлак.
А остальным компаниям легче своровать готовые продукты, а не писать свои.
Если это плохо, и вы считаете, что так делать не надо, почему сами так делаете? Форум, упаковщик программ, вы их не писали свои.
Шлак получается из-за особой незаинтересованности в собирании франкенштейна из чужого такого же опенсорс кода
а опенсорсер пишет тысячу картин по кусочку и у него нет ничего своего, ни проектов в его стиле
С чего вы это взяли? Вы можете как-то доказать свои слова, или это просто ваши домыслы? Вот прямо взять, привести конкретные ссылки и доказательства релевантности этой выборки для ситуации в целом.
Каким образом открытые исходники обязательно означают, что там есть код из других проектов? "Опенсорсер" пишет картину целиком и говорит «это мой труд, моя картина в моем стиле». Просто место хранения исходного кода этой картины другое.
Вы используете VCL и WinAPI, или тот же UPX. Ваша программа франкенштейн? Получается, что да.
и прыганья по проектам безо всякой ответственности за написанное
и у него нет ничего своего, ни проектов в его стиле, ни ответственности за написанное.
Так а у вас-то где ответственность? Вы же там выше написали "Если в браузере (парсере текста HTML-кодов) критическая уязвимость, то это ваши проблемы. Вы скачали и запустили прогу на свой страх и риск". То есть у вас ее тоже нет. Чем вы отличаетесь от описанного вами в негативном стиле "опенсорсера"? Только местом хранения исходного кода.
1. Open Source продукты пишет широкая аудитория программистов со всего мира, но за сам продукт толком не отвечает никто.
Пожалуй, это один из самых больших минусов, который только может быть у программных продуктов. Это не волнует пользователей, когда речь идет об IM-клиенте (аська\джаббер\скайп) или о графическом редакторе. А если мы сейчас говорим о базе данных клиентов предприятия? О бухгалтерском программном обеспечении крупной конторы? Или о компьютерной системе целой больницы? Если в логике или коде такой программы обнаружатся ошибки и неточности — это может нанести огромный ущерб предприятию и его клиентам. Из этого вытекает вторая проблема.
Этот мерзавец тоже поносит опенсорс почем зря, видимо.
По вашей логике я и в кубейсике использую стандартные типа PRINT, LINE и CIRCLE — моя прога франкенштейн, т.к. я не писал исходный код этих команд) По моей трактовке, франкенштейн — это прога из больших чужих кусков, взятых по очередной лицензии из чужих проектов, а туда попавших из других чужих проектов, вместо моего любимого изобретения велосипедов и изучения темы а ля «как написать такой кусок для такой функции проги, и потом как его оптимизировать, ускорить, отладить».
Ответственность и поддержка — это когда что-то сломано, то мне пишут «в этой проге эта фича работает неправильно, поправьте», я тут же пишу «да, это явный косяк» и тут же правлю (потому что желаю сделать свое ПО наиболее удобным, полезным и хорошо работающим, прямо как производители платного ПО) и пишу в истории «исправлена некорректная работа функции такой-то при таких-то условиях». Это эксклюзивное бесплатное ПО ручной работы. Стильно, модно, экономно!
А опенсорсерам пишешь «э слыш у меня не пашет» — а они такие «а ну я делал только маленький кусок забесплатно, а другой кусок, который вас интересует, делал кто-то другой, уже ушел из проекта, а наш местный бесплатный директор ушел в запой и не появлялся полгода, поэтому может поправим, может нет». Вот она — ответственность единого разработчика-любителя кодить и безответственность группы непонятных фанатиков, которые делают все подряд.
Вот это в том же тексте по ссылке второй проблемой описано:
2. Не факт, что проблему, возникшую с программой, кто-то вообще будет решать.
Поскольку Open Source — это скорее общественное начинание, вы ничего не можете требовать от команд разработчиков программ, которые используете. Разработчики коммерческих приложений более-менее гарантируют отлов «багов», исправление ошибок в логике, периодические обновления программы. Open Source'ники творят, что хотят. Поддержка проекта может прекратиться вообще. Ошибки в программе может никто и не исправить. Как-то раз мы даже были вынуждены отказаться от использования Open Source продукта именно потому, что сообщество намертво забросило этот проект. Увы. И раз уж мы заговорили о разработчиках, то вспомним и службу поддержки.
потому что обученный опытный снайпер, пусть медленно, но гарантированно застрелит больше вражеских солдат, чем толпа неумелых школьников, которые оказались тут случайно, бесплатно, без еды и обмундирования, в надежде потом написать в резюме "участвовал в опенсорс боях", во главе с командиром, который не может с ними управиться
Все зависит от моего личного опыта и опыта школоты-опенсорсеров.
Но мой личный опыт полностью определяет весь проект.
А личный опыт каждого члена группы опенсорсеров будет определять насколько они затрахают лидера говнокодом чтобы он вместо нормальной работы над софтом боролся с идиотами и пытался управлять забесплатно командой из бесплатных рабочих-опенсорсеров.
Ну а как действует опенсорсер — подвязывается к проекту
Стоп-стоп. А откуда этот проект-то взялся? Некий опенсорсер его выложил. Сначала написал, отладил, потом выложил. Все точно так же, как делаете вы. За исключением последнего пункта. А уж чтобы кто-то посторонний решил доработать проект, сначала надо чтобы он кого-то заинтересовал, что довольно редкое явление. Вот поэтому все ваши дальнейшие рассуждения ерунда, так как основаны на ложной предпосылке.
Что пишет кто-то на другом сайте меня не интересует. Я говорю про ваши высказывания.
По вашей логике я и в кубейсике использую стандартные типа PRINT, LINE и CIRCLE — моя прога франкенштейн, т.к. я не писал исходный код этих команд)
Нет, это по вашей логике. Я никого не упрекаю за использование библиотек с чужим кодом.
всякие безработные бездари сидят и пишут шлак забесплатно
Шлак получается из-за особой незаинтересованности в собирании франкенштейна
По моей трактовке, франкенштейн — это прога из больших чужих кусков, взятых по очередной лицензии из чужих проектов, а туда попавших из других чужих проектов
Вот скажем большой кусок на 2000 строк из бесплатного проекта Chromium. Поясните пожалуйста, из какого чужого проекта этот код? Или разработчики его все-таки сами написали?
У вас кстати в комментарии 2 больших куска чужого текста. К вам окружающие должны из-за этого относиться негативно, или у вас все-таки были обоснованные причины его использовать?
Ответственность и поддержка — это когда что-то сломано, то мне пишут «в этой проге эта фича работает неправильно, поправьте», я тут же пишу «да, это явный косяк» и тут же правлю и пишу в истории «исправлена некорректная работа функции такой-то при таких-то условиях».
И в большинстве проектов с открытым кодом то же самое (1, 2, 3).
А вот что вы напишете, если вам будет некогда, это вопрос.
А опенсорсерам пишешь «э слыш у меня не пашет» — а они такие
Желание разработчика осуществлять поддержку никак не зависит от места хранения исходников. Единственная разница в том, что когда исходники доступны, поправить может не только автор.
Open Source'ники творят, что хотят. Поддержка проекта может прекратиться вообще. Ошибки в программе может никто и не исправить.
"перестану делать браузер — то просто появится последняя версия, после которой новых версий не будет. И так с любыми прогами бывает уже на протяжении с 70-80х годов и до сегодняшних дней, это нормально, вы прямо как с Луны свалились."
вы не хотите ничего знать о минусах опенсорса, а статей про это, между прочим, великое множество, но вы упорно повторяете "это вы ссыте мне в глаза? нее, это божья роса") я продолжаю верить в будущее проприетарного качественного ПО. Удачи
Ну вы прям такие глупости пишете, что на них нельзя не ответить, иначе это создаст у вас неправильное представление о том, как завершилась беседа.
Я прекрасно знаю о минусах опенсорса. Я говорю не о том, что у него нет минусов, а о том, что опенсорс это не то, что вы про него выдумали. Что недостатки, которые вы приписываете опенсорсу, существуют и у вас в том же виде. Что у вас некорректная логика в рассуждениях. Вы используете много логических ошибок — апелляция к большинству ("много статей, значит они правы, а значит и я прав"), подмена тезиса ("вы говорите, что я не прав, значит не хотите ничего знать о минусах опенсорса"), систематическая ошибка отбора ("я встречал несколько некачественных форков, значит опенсорс это некачественные форки"). Не хотите это признавать, дело ваше, но факты от этого не изменятся.
Значит я все правильно понимаю. Опенсорс это мучения. Люди, незаинтересованные, непонимающие твой код, неопытные, пытаются что-то слепить вместе забесплатно. Зачем это вообще придумали? Единственная причина, по которой можно было придумать это — это иметь легкий доступ к исходникам разного чужого ПО. Для этого надо было внушить кодерам что никаких наработок у каждого программиста нет, что все надо выложить на всеобщее обозрение, чтобы другие потом это переняли к себе в проекты (или целиком форкнули) или поучаствовали.
Вместо этого, имхо, надо набирать команду нормальных программистов, платить им как положено и они будут работать как положено. И тогда все проблемы отпадут. И тогда код станет тоже проприетарным (никто не захочет отдавать его за просто так), и результаты в виде готовой проги — придется продать, чтобы окупить затраты на программистов. Но этот путь дает качество и уверенность в том, что ты делаешь и для чего ты это делаешь в составе такой команды с руководителем.
Получается: платное проприетарное — хорошо (т.к. по заказу, с четким ТЗ и результатом с тестами), бесплатное проприетарное (от души и для людей) — тоже хорошо, хоть есть кому вопросы задать и попросить добавить функции, а бесплатное открытое — плохо (т.к. хрен пойми кто делал хрен пойми что).
В дополнение к прошлому комментарию моему: вот, например, на хабре писали про опенсорс habr.com/ru/post/169339
Там же, в самом посте, автор неоднократно пишет, что он устал исправлять баги, которые ему присылали. Видимо, пользователь всегда найдет способ выстрелить себе в ногу, не так ли? Сам же он не смог их найти.
имхо, надо набирать команду нормальных программистов, платить им как положено и они будут работать как положено. И тогда все проблемы отпадут. И тогда код станет тоже проприетарным (никто не захочет отдавать его за просто так), и результаты в виде готовой проги — придется продать, чтобы окупить затраты на программистов. Но этот путь дает качество и уверенность в том, что ты делаешь и для чего ты это делаешь в составе такой команды с руководителем.
Этот путь был пройден вашей любимой операционной системой. И действительно, написана она так, что ее было можно легко продать и с учетом интересов заказчика, но никак не конечных пользователей. Ворованный код, грязные трюки и маркетинг вознесли windows на вершину Олимпа. Однако сообщество было уже готово и тот же фокус с мобильными ОС уже не прошел. Проприетарное, да еще и коммерческое ПО активно продается и используется только там, где нет иных альтернатив.
проприетарная винда захватила мир, а открытый линукс — только 1-2% людей, которым "не нужны игры, не нужен уникальный windows софт", а нужен браузер, плеер и какой-нибудь язык покодить. Открытый код — это разбираться в чужом коде похлеще моего без табуляции, как и описал автор того поста, присылают все что не попадя, не то, не для того, с багами, злятся, ругаются. Потому что у них нет ТЗ и нет оплаты их деятельности. Соло такую бесплатную разработку еще можно провернуть, т.к. хотя бы идея есть и ты сам ее реализуешь. Но с толпой неизвестных людей — очень трудно (как и опять же описал автор того поста). Я считаю это некачественной и неэффективной разработкой, когда труда вкладывают много, а кпд очень низкий из-за незаинтересованных, непонимающих и просто не имеющих опыта кодеров различных возрастных групп.
которым «не нужны игры, не нужен уникальный windows софт»
Извините, но зачем тогда делают Wine? Зачем тогда Valve стала помогать развивать драйвера для графики, портировать Steam и помогать с продвижением Linux-игр? Да, можно сослаться на SteamOS и Steam-машины, только вот где они сейчас? SteamOS больше как «тестовый полигон», а Steam machines и в продаже толком не найдёшь. Уже можно считать что нет смысла развивать Linux стек и гейминг. Но они его развивают и вкладываются. Значит это компании необходимо, и значит это приносит свои плоды и дивиденды.
P.S. Я пользуюсь и виндой и линуксом, и не настаиваю на использовании той или иной ОС. Однако если появится какая никакая, но конкуренция в сегменте ОС для десктопа, то я только за. Может быть это мотивирует Microsoft тщательнее тестировать свои обновления и оптимизировать свой софт? И самое главное, что бы остался выбор за пользователем.
Браузер, плеер и покодить — это, скорее всего, вы про Мак говорите? Ну так у них таргет-групп совсем иная. Порог вхождения практически нулевой. Позиционирование своей «ОС для домохозяек» сделало свое дело.
Пусть уж злятся и ругаются тестеры, чем покупатели. От них в суд загреметь можно. Потому как коммерческая продажа подразумевает обязательства.
Работать в OS трудно. Очень трудно и тяжело. Но если следовать нехитрым и несложным правилам, разработанным OS-комьюнити, то внезапно оказывается, что не так уж трудно и тяжело.
— P.S. Критическая ошибка того чувака из поста — он взвалил на себя все сразу. И не имеет значения, OS проект это был или коммерческий проприетарный, все было бы точно также.
проприетарная винда захватила мир, а открытый линукс — только 1-2% людей
Это мягко говоря заблуждение, какую ОС используют компании типа Google, Facebook,… на своих серверах? Какую ОС используют на суперькомпютерах? Какая ОС в роутерах? На основе ядра какой ОС работает миллиарды телефонов? Пусть на компьютерах домашних пользователей стоит Windows, но сколько этих компьютеров по сравнению компьютерами не домашних пользователей?
В Windows один exe — работает в любой Windows (для .net — если сопутствующие файлы типа .net нужной версии в конечной винде работают, а для некоторых языков нужно рядом сопровождающий redistributable pack таскать, но я пишу под обычный win32 — и мои проги работают везде без каких-либо сопутствующих файлов). Не надо пересобирать. Никаких консолей если сам не захочешь вызвать. Удобная установка. Удобное удаление. Все прозрачно и понятно.
Поэтому любители развлечься и отдохнуть выбирают Windows. И я выбираю как автор ПО. И под линукс писать, вероятно, никогда ничего не буду («никогда не говори никогда»).
Кстати, windows 10 Professional можно уже давно купить в виде кода для OEM версии на ebay за 100-150 рублей и поставить на любой комп, даже на котором до этого несколько лет стояла неактивированная windows 10. Считай бесплатно.
Да забудьте вы про этот 1-2%. "Линукс" — это не только десктоп. А то ваши рассуждения выглядят как "я не живу в деревне, мне не нужна лопата копать огород, значит лопаты не нужны".
Ну вы наверное написали качественный код в котором легко разобраться, люди видят, что это не перспективный, мега-шустрый браузер на делфи, вот и не сперли еще!
А браузер вовсе не перспективный. Статья не про какой у меня хороший браузер (он вовсе не хороший, т.к. без JS работают только новости и некоторые форумы), а про то, как сегодня, в мире где все занял прожорливый/лагучий и тормозящий на слабых компах/надоедающий уведомлениями хром, сделать простейший браузер, состоящий из:
— html-парсера,
— интерпретатора форм,
— просмотрщика скачанных файлов в виде текста/hex,
— редактора простых скриптов для ручной автоматизации обработки кода страниц с целью вытаскивания видеофайлов с ютуба / обрубания длинных шапок сайтов / перемещения в нужное место страницы в пикселях после загрузки сайта и др. подобных простых целей.
И в конце статьи можно посмотреть как такая прога будет работать (скачав ее и полазив по паре-тройке сайтов, а потом удалив если, конечно, она вам не нужна для какого-нибудь слабого компа).
У меня не было цели распространять исходники и поэтому я не боюсь что их упрут или просто превратят в несколько невнятных проектов-форков.
Так я и не вам написал, а ответил товарищу 0xd34df00d в шутливо-саркастической форме.
обрубания длинных шапок сайтовНе очень понимаю, как именно ваша программа собирается «обрубать» шапки сайтов (и что вы вообще имеете в виду под этим словом). Можете объяснить подробнее, если не сложно? Как вообще ваш браузер определяет, что является шапкой? Как быть с тем, что у разных сайтов очень разная вёрстка и очень разное визуальное представление?
В браузере два варианта «убирания» шапки:
1) отрезание в исходном коде с помощью justcode-скрипта, готовый шаблон на который есть среди других шаблонов в окошке Редактора программ (Ctrl+F5):
Программа скидывает исходный код в область инфы об объекте (многострочное текстовое поле под областью вывода контента сайта), затем ищет нужный фрагмент тега, если не нашла — заканчивается, а нашла — отрезает все, что выше найденного фрагмента, оставшееся отсылает как HTML-код на рендер+просмотр.
Например, у сайта шапка это набор ссылок «Новости Путешествия Одноклассники Погода О нас». Вот жмем Ctrl+E (показать исходный код) и вручную ищем место последнего пункта меню в коде, например, что-нибудь типа
<a href="onas.php">О нас</a>
копируем этот фрагмент и вставляем его в редактор программ в аргумент команды поиска первого вхождения SFIRST. Сохраняем скрипт на жесткий диск. И заодно биндим этот файл, например, на alt+1 (наверху в редакторе программ есть набор кнопок для забиндивания скриптов на сочетания alt+1 — alt+0).
И теперь лазим по новостям, и на каждой странице жмем alt+1 — и шапка пропадает, сразу смотрим новость с текста новости безо всякой шапки. При этом сочетания alt + 1 — alt+0 работают даже при закрытом редакторе программ. А бинды сохраняются в настройки и будут подгружены и работоспособны и при следующих запусках браузера.
Это работает, даже если шапка динамическая и в ее середине могут на разных страницах портала появляться лишние ссылки и она будет менять размер по вертикали.
Если же она всегда одна и та же — то см. п.2 ниже.
2) если шапка статическая и известно сколько она занимает пикселей и с какого номера пикселя по вертикали она кончается и начинаются новости/статьи/другой контент, то можно использовать другой скрипт — на простую промотку на N пикселей вниз, это другой шаблон «Промотать шапку сайта».
В нем также указываем сколько пикселей (текущее смещение в пикселях всегда показывается в заголовке главного окна и на плитке приложения на панели задачи), сохраняем в файл и биндим файл на сочетание клавиш. И теперь на каждой странице новостного портала жмем забинденное на скрипт alt+1 и сразу проматываем контент к новости, пропуская шапку.
В итоге придется единожды сделать отдельный скрипт на каждый конкретный сайт со своей особенной шапкой. А потом уже читать эти сайты, пропуская в каждом шапку запуском по бинду скрипта justcode, созданного специально для этого сайта.
Опишу несколько минусов, которые я вижу (по сравнению с использованием расширения Custom Style Script под Chrome или Firefox).
1. Иногда нужно убирать не панель навигации, а горизонтальный рекламный блок, а рекламу часто ставят в div с рандомным id, меняющимся каждый раз. Тут ваша первая функция не поможет (хотя всё ещё можно использовать перемотку скроллингом).
2. Иногда шапка в вёрстке, внезапно, может идти не первым элементом (особенно если у неё position равно fixed или absolute). И здесь опять же ваша первая функция бессильна, потому что она не позволяет задать начальную точку, откуда начать обрезку (!).
А вот вышеупомянутое расширение не имеет ни одной из этих проблем, поскольку оно выбирает элементы через CSS селекторы (и в первом случае можно выбрать элемент, основываясь на предшествующем элементе и/или родителе, а во втором просто не важно, идёт ли он первым в body).
И нет, сегодня с инструментами VCS гораздо проще отследить откуда пошел код, какие в него и кем вносились изменения, какие были pull request'ы в оригинальное репо, что автор принял, а что отклонил, и так далее.
Зачем это делать для неизвестного проекта, который за полгода сделаешь и будешь пользоваться спокойно. А потом все наработки спокойно утащишь в следующие проекты. Ты сам себе хозяин. Каждый день ты спокойно по одному-два часа сидишь и доделываешь свои проекты, читаешь статьи, самообучаешься, развиваешься. Зачем в этом стройном процессе лишние люди (вероятно, не семи пядей во лбу), и отданный хрен пойми кому исходный код? Я не вижу в этом никакой выгоды.
Разве что тренинг для командной работы при совместном написании ПО. Но я не работаю программистом.
Это если серьёзно к вопросу подходить.
Повторюсь, это было во времена, когда open source в России приравнивалось к выложенным исходникам.
Закрытый код я тоже смогу проверить на отлаженность и ваша помощь в этом мне не нужна.
Отлаженный, вылизанный и быстроработающий код — это если прога не выдает ошибок при работе, работает быстро на слабых системах.
В JustCode, протестированном на Win10, WinXP, Win95 — это есть. Т.е. плавно без лагов идет просмотр сайта при прокрутке на слабой системе, все клики отрабатываются как надо, файлы скачиваются и просматриваются, есть множество удобных функций по просмотру скачанных файлов в виде текста/hex.
Это и есть прога, которая работает хорошо, значит у нее отлаженный код =) Оттуда я это и знаю.
Баги, конечно, отыскиваются. Уже несколько еще нашел, пока статью писал. Но сам движок быстрой отрисовки сайта со ссылками работает отлично (имхо), с хорошим fps даже на этом несчастном планшете.
В кодинге я с 14 лет, сейчас мне 34. Есть опыт кодинга на qbasice, delphi, ассемблере, java2me, c#, с++. Проникся больше всех паскалевским delphi, на нем и творю.
Скачал, например, Калькулятор. Считает за доли секунды, есть операции сложения, вычитания, деления, умножения, память, корень квадратный. Работает хорошо.
Или считает по 5 секунд одну операцию, вычитание забыли сделать, работа с памятью сразу выдает exception. Работает плохо.
Зачем для этого смотреть исходный код. «Не нужно быть курицей чтобы понять что яйцо — тухлое.»
Браузер это простая прога — заходит на сайты, просматривает контент, качает файлы.
Если все умеет, значит работает хорошо. Или вы как юзер разучились себя вести, только как кодер?
Не на слово, а по результатам использования.
Угу-угу, видали мы таких. А потом оказывается, что при загрузки определённой последовательности байт происходит переполнение буфера, и управление переходит в незапланированную область памяти, позволяя выполнить на устройстве пользователя произвольный код (или, например, случайно удалить всё на диске C). Вы проверяли свою программу в нормальных условиях, вы даже не пытались проверить какие-то граничные случаи.
Если все умеет, значит работает хорошо. Или вы как юзер разучились себя вести, только как кодер?
Угу, а потом кричите «айайай, как же так, меня взломали через уязвимость в windows, а ведь она с закрытым кодом и всё умеет, значит работает хорошо, такого же никак не могло произойти!»
Вы знаете, вы мне напоминаете одного человека, который рассуждал так же. Я его часто видел в зеркале лет 20~25 назад. И код он, кстати, такой же писал. И даже на делфи.
Отлаженный, вылизанный и быстроработающий код — всем нужен. Но он закрыт.
Это вы вот это вот называете «Отлаженный, вылизанный и быстроработающий код»?
if (not inscript) and (tagname='IMG') then
begin
ParseTag(tagpure);
s1:='';
s2:='';
s3:='';
for k:=0 to length(nams)-1 do
begin
if nams[k]='WIDTH' then s1:=Form3.DeQuote(vals[k]);
if nams[k]='HEIGHT' then s2:=Form3.DeQuote(vals[k]);
if nams[k]='ALT' then s3:=Form3.DeAmper(vals[k]);
end;
if checkBox3.Checked then
begin
imgtext:='';
if (length(s1)>0) or (length(s2)>0) then
begin
if length(s1)=0 then s1:='???';
if length(s2)=0 then s2:='???';
imgtext:=s1+' x '+s2;
end;
if (length(s3)>0) and (s3<>'""') then
begin
if length(imgtext)>0 then imgtext:=imgtext+', ';
imgtext:=imgtext+s3;
end;
if length(imgtext)=0 then imgtext:=Lg.GR(11) else imgtext:=Lg.GR(11)+' ('+imgtext+')';
imgtext:=imgtext+': ';
imgtag:='SRC';
needimg:=true;
needdbr:=true;
end;
end;
Правда в результате такого зоопарка исходники превращаются в редкостное и нормальный человек в них и разбираться не будетНе хочу вас обидеть, но ваш код, каким бы быстрым и вылизанным не был, выглядит тоже как редкостное (почти нечитаем). Так чем тогда вы лучше, и более того, какой смысл код закрывать?
Поэтому закрытие исходного кода означает что никто не упрет часть проги чтобы сделать свою аналогичную, никто из конкурентов не упрет прогу целиком чтобы сделать аналогичную вредоносную с целью компрометации оригинальной.
E9 XX XX XX XX
Это инструкция JMP rel32 процессора Intel. Делает переход на указанное смещение относительно текущего адреса. Чтобы сделать "аналогичную вредоносную прогу" никакие исходники не нужны, достаточно поставить в точке входа эту инструкцию с переходом на вредоносный код, который в конце работы восстанавливает исходные байты и делает переход обратно. Поэтому нет, не означает. Рекомендую вам пересмотреть свои неверные представления о разработке и работе программного обеспечения.
"Гораздо изящнее" это уже совсем не изначальное категоричное "никто не упрет". Только вирусописателям не нужно изящество, им нужен инструмент, стабильно работающий для максимального числа программ. Возиться с исходниками одной программы никому не надо, тем более что во вредоносном коде в большинстве случаев все равно куча инструкций на ассемблере для обхода защиты ОС или антивируса.
Добавлять же в экзешник дополнительный код и заменять первую инструкцию на jmp и потом еще восстанавливать байты смогут только какие-то люди типа вирусописателей
Любые встраивающиеся вирусы делают это в автоматическом режиме совершенно без участия человека. А для интересующихся давно написаны инструменты, которые написание вирусов автоматизируют. Термин "скрипт-кидди" не просто так появился.
Вам возможно да. Но вы говорили не про себя, а про гипотетического конкурента, причем в глобальном смысле в виде слова "никто", причем в качестве довода против открытия исходников. Для тех, у кого цель сделать вредоносную программу, расстановка JMP-ов даже вручную не проблема. Поэтому ваша логика неправильная, отсутствие исходников никак этому не мешает, на что я и указал.
Если исходников нет — то только такой низкоуровневый набалдашник налепить, который будет выполняться до проги. И уже в нем всякие перехваты вызовов определенных функций как-то реализовывать (что геморно). Это сможет далеко не любой.
Любой. Не надо там ничего перехватывать. Создаем нить и запускаем программу как было, в нити делаем все что собирались. Если кто-то не умеет встраивать код сам, то скачивает программу, которая умеет. Или платит 10 баксов тому, кто умеет.
Хорошо, допустим некий злодей решил вас скомпрометировать путем модификации вашей программы и распространения его со своего сайта. (Мы не будем рассматривать вопрос насколько это эффективно) Вы уверены что у него не найдется 668 рублей на такую цель?
Я пистолет у него отнял. А вы доказываете мне что я труп. Нет уж. Чем меньше легких путей, тем меньше вероятность.
Меньше простых путей? Заплатить 700 российских рублей это и есть самый простой способ.
И раз уж пошли аналогии, вы не от бандита защищаетесь, а от инопланетян.
Давайте еще раз проясним. Вы утверждаете что некий недоброжелатель захочет взять и модифицировать вашу программу для ее некоего вредоносного поведения с целью вашей дискредитации? И сколько таких случаев было за последние 25 лет?
Вы-то так рассказами про 10 баксов не пугайте, а то я уж ненароком подумал, что это месиво из схескбох9.схескед и фаллических операторов ещё и за деньги распространяется
Это легче вам, и то только потому что вы плохо представляете содержание вредоносного кода. Многие вредоносные действия легче писать на ассемблере или как минимум создавать условия для их выполнения. Вы не закрываете никакую дверь, это существует только в вашем воображении из-за ваших неправильных представлений. Кроме того, как я уже сказал, отвечал я на ваше изначальное утверждение, которое со словом "никто" и про целенаправленную компрометацию конкретной программы. В контексте "что бы такое взломать" возможно да, отсутствие исходников отпугнет пару неспециалистов.
Вписать в исходники на привычном языке легче чем платить 10 баксов или качать левые проги.Во-первых нужно ещё найти куда вставлять в делфи коде, а он у вас блоб, даже в исходниках(sic!). Во-вторых этот делфи ещё и знать и иметь нужно, для пересборки.
Чем вас так этот Вася обидел, что вы его в каждый комментарий вставляете, как вредоносный код в исходники OS?
Имхо, поправить исходники смогут гораздо большее количество сегодняшних «программистов», чем вставить низкоуровневый кусок в исполняемый win32 код. Поэтому это такая защита — не давать никому исходники.
"Защита" означает, что без исходников нельзя или крайне сложно добавить вредоносный код. Но это не так. Даже если человек не умеет делать это сам, ему проще скачать маленькую утилиту для хакинга, чем большую Delphi.
Как вы вообще представляете вектор атаки? Что кто-то возьмет ваши исходники, добавит туда вирус, и выложит на файлообменники, а люди будут качать оттуда вместо официального сайта? Ну так не нужны для этого исходники, куча таких программ с закрытыми исходниками на подобных сайтах. Здесь не надо чтобы все умели так делать, достаточно одного хакера.
поправить исходники смогут гораздо большее количество сегодняшних «программистов», чем вставить низкоуровневый кусок в исполняемый win32 код
= крайне сложно для большинства
Что мешает неумеющему "программисту" скачать программу, которая сама это сделает?
Вот в вашей оценке их как "большинство" и содержится ошибка. Большинство вообще не интересуется компрометированием чужих программ даже с исходниками. А среди тех, кто интересуется, для большинства это несложно.
поправить, украсть, заимствовать, использовать исходники для любых целей (включая компрометацию конкурентов) легче в сто раз когда они доступны
Да. Только видите ли в чем дело… Использовать исходники для этих целей… необязательно.
видимо, в надежде что я скажу "а, да, действительно надо раздать исходники"
Я говорю исключительно про вашу логику, про некорректность и противоречия ваших аргументов. Лично я у вас исходники не просил, мне они не нужны.
Один единственный разработчик — и он отвечает за качество, не работает ПО — вопросы к нему, полезное ПО и нравится — спасибо ему.Это всё хорошо, пока разработчик живёт и здравствует. Но если что-то случится? Задумывались, кому передать наследство? С опенсорсом таких проблем нет — любой желающий может откопать проект и продолжить начинания. Как это было с LibreDWG, например.
Оформление кода это в первую очередь уважение к самому себе, через месяц-два, когда появится необходимость что-то поправить. Сами говорили, что уже сталкивались с проблемой подсчёта блоков.
"Вот если бы существовал инструмент, который форматирует код просто по нажатию кнопки...., постойте ка, большинство текстовых редакторов и IDE могут это"
Теперь по опенсорсу — в опенсорс в первую очередь как раз и кладут код, чтобы другие могли беспьатно пользоваться. Никто и не обещает вам, что сразу посыплются пулл реквесты с новыми фичами(хотя такое тоже иногда случается), но я просто могу гарантировать, что если проект хоть сколько нибудь интересный(а это вроде тот случай) — то вам сразу пришлют исправления ошибок, это как минимум.
Плюс, если я знаю, что мне этот код "людям показывать", то он автоматически становится чище, появляются скрипты для рутинных действий, и меняется мышление — "что мне такое добавить, что было бы полезно не только мне, но и большому количеству людей".
У меня представление об открытом исходном коде как о вечно незакрытой двери в квартиру. Когда спрашивают «а для чего же ты оставляешь дверь открытой?» опенсорс-товарищи отвечают «ну может добрые люди зайдут и мебель мне принесут, поставят, или бытовую технику». Хотя у меня одно представление «оставил дверь открытой — все спукрали, это Россия, детка».
Было бы что тащить. Вы ж не супернавороченный алгоритм придумали, а написали полупарсер html.
А вообще представьте, если бы за то, чтобы использовать теорему Пифагора вам пришлось платить, а ее доказательство хранили в сейфе. Ну вот это примерно и происходит в мире проприетарного ПО. Зато с другой стороны у математиков целые бои в стиле YiGiOh случались, когда они на время решали разные задачки и кто быстрее решал, тот получал более крутой ранг как в этих ваших игрулечках. Правда, не уверен что это сильно помогало продвижению науки — из-за этого математики были вынуждены держить свои открытия при себе.
статистика скачиваний по логам сайта говорит об около 1000 скачиваниях с хабра за 2 дня. Т.е. каждый 25ый просмотревший пост — скачал. Поэтому не "ни один гик".
А телеметрию, конечно, нужно бояться. Я сам боюсь что в мс ворде или в виндоус 10 за мной следят. Но еще не пробовал запросить в майкрософте исходники на проверку. Скорее всего они скажут что код закрыт и откажут. Я делаю примерно то же самое, ведь код закрыт.
И не будете пробовать, потому что приняли лицензионное соглашение. Но вы не майкрософт.
Насчет телеметрии можно не бояться — а быть уверенным, что следят. Ну может быть не конкретно за Вами, отдельный юзер — песчинка в общей массе. Но остается актуальным вопрос, что потом делают с собранными данными, как обрабатывают, и как хранят. И ещё успешно втюхивают мне ненужный товар, используя мои поведенческие слабости. Да и не факт, что собранные данные не всплывут на просторах интернета в результате очередной утечки.
Можно сделать выводы и мигрировать на открытые продуты (без телеметрии), одной маленькой брешью меньше
Раз вы пытаетесь сделать из известных фактов выводы, которые удобны вам, я тоже напишу явно. Я один из тех 1000, и я тоже скачал не для того чтобы его ставить, а чтобы проверить, нет ли там чего подозрительного.
ну я не пытался заставить всех использовать мой html-браузер вместо поддерживающего тучу стандартов хрома или фаерфокса. Статья про то как написать простой браузер и в конце приведен результат, чтобы посмотреть как оно работает (а после удалить если у вас нет слабого компа и вам он явно будет бесполезен, т.к. на мощном компе удобнее всего будет с хромом). Я тоже качаю неизвестные проги обычно посмотреть что внутри, прокатить на вирустотале, ресурсы поизучать, так что ожидаю что и другие будут делать примерно тоже самое.
Если уж на то пошло, статья не о том, как его написать, а о том, какой он у вас получился. Причем только интерфейс пользователя. Про что-то, относящееся к написанию — обработка HTML-грамматики, архитектура компонентов, оптимизации — ничего нет.
статья расчитана на немного продвинутого программиста, который знает какие бывают теги в html, как парсить теги, как меняют юзерагент. Теперь ему не надо пытаться делать простой html-браузер с нуля, а можно сразу посмотреть что примерно будет, как будут выглядеть сайты без js, и много ли можно выудить для вывода в браузер из простого html. А потом уже решить для себя какой браузер делать, что там нужно, что не нужно, и написать более совершенный браузер.
>> HTML
На этом я думаю можно закрывать этот тред. А то глядишь и до программирования в ворде скатимся…
Товарищ сделал годный проект. Я его конечно использовать не буду, потому что «идите нафиг с не opensource браузерами», но ваши претензии вообще смешны.
«Мне не нравится ваш код, вот вам минус.»
Неужто мы будем как шакалы «отсеивать» слабых и неприспособленных, как будто это критически влияет на нашу выживаемость?
Рекомендую, т.к. оформление очень сильно помогает читать незнакомый код.
Почему троллинг-то? Вы пробовали писать код на мобильнике с маленьким экраном, например? Отступы теряют смысл, даже в пробел-два — всё равно даже короткая строка разбивается на несколько экранных.
Но даже если мобильник оправдание, я уже не могу поверить в «размер файлов» как повод отказа от табуляции. Особенно в контексте того, что автоформатирование таки существует (и автор выкладывает код на обозрение).
Три вложенных begin-end и так глазами видно. А когда пять, да еще кто-то внутри кого-то, а кто-то рядом с кем-то — то просто после каждого end пишем комменты примерно так:
for i:=1 to 5 do
begin
a:=1;
for j:=1 to 5 do
begin
for k:=1 to 5 do
begin
d:=d*k;
end; //for k:=1 to 5 do
for l:=1 to 5 do
begin
b:=5;
for m:=1 to 5 do
begin
c:=c+m;
end; //for m:=1 to 5 do
end; //for l:=1 to 5 do
end; //for j:=1 to 5 do
end; //for i:=1 to 5 do
Поэтому я не пользуюсь табуляцией. Мне так привычней. Если бы требовалось куда-нибудь исходники потом передавать другим кодерам — то сделал бы как им привычней. Но это соло-проект, а на результирующий код в exe табуляция никак не влияет.
а мне лень править ее кривую табуляцию.
после каждого end пишем комменты
//for k:=1 to 5 do
1-2 раза нажать Tab в той же строке лень, а пробел, два слеша, Ctrl+C в одном месте, Ctrl+V в другом месте набирать не лень?) Слабая какая-то у вас аргументация.
Кому надо отформатирует под свои вкусы.
P.S. Классический ассемблер тоже зачастую выглядит как запись в столбик, да ещё и с командами перехода.
где компьютеры (и портативные в том числе) доступныОни громоздкие, даже небольшие UMPC. Маленький мобильник можно спрятать в ладони.
я уже не могу поверить в «размер файлов» как повод отказа от табуляцииМеня давно волнует вопрос: сколько лишних мегабайт приходится гонять по сети гентушникам, которые качают исходный код просто ради перекомпиляции под своё железо и юзы? Без цели читать и править код. Сжатие, допустим, хорошо справляется с форматированием, но вот с комментариями — определённо нет.
Кажется, я писал тоже когда-то писал такой код… Ленился назвать checkBox9 нормальным именем типа cbProcessLinks, ленился вместо 24 и 25 задать константы sLINK_A_HREF и sLINK_A_NAME, ленился выносить всю механику в отдельные функции и писал её прямо в обработчике события checkBox9.onClick ...
Потом нарвался на то, что такой код поддерживать и дописывать невозможно, так и умерли все велосипеды. Но какое же было хорошее время!!! Задолго до появления WAP в мобильных Siemens...))
Да, все ради лулзов) Эти проекты на дельфе никуда не продаются и не передаются для дальнейшей доработки другими программистами. Если бы передавались, то, конечно, можно было бы и облегчить задачу понимания следующим товарищам. Это такое домашнее хобби с написанием проприетарного закрытого кода, принадлежащего одному человеку, а не профессиональная деятельность когда 10 людей друг за другом перехватывают проект, разбираются в отдельных его частях, дописывают и переписывают.
А потом был ад, так как я забывал какая кнопка к чему относится. После этого, всегда называю переменные читаемо. А еще и комментарий напишу.
Чтобы потом, когда время на пет проект снова появится- я мог бы быстро влиться в разработку.
Вы не думали вместо Win10 поставить сильно урезанный WinXP или Win7, которые уместятся в несколько Гб? И в дополнение к ним какую-нибудь старенькую Оперу.
Скачивать видео с ютуба проще с помощью Питон-программы youtube-dl.
Когда-то на машине с 512 Мб памяти постоянно держал кучу открытых вкладок в Опере. Тогда, правда, и сайты были другие.
Ну и по фрагменту кода выше — выглядит ужасно. Позвольте дать вам совет: отделите логику (например, парсинг HTML) от интерфейса (проверки чекбоксов). То есть сделайте отдельный модуль для парсинга HTML, и чтобы он даже не пытался обращаться к каким-либо чекбоксам или элементам интерфейса, а чтобы все нужное ему передавалось бы через аругменты. Ваш код станет и проще поддерживать, и он станет чище. То же самое касается и какой-то другой логики, ее надо отделять от интерфейса.
Шаблон на выдирание ссылок из ютуба — это пример использования скриптов. Можно и другие свои скрипты написать, например, чтобы обрезать большую шапку сайта в исходном коде. Надо только обнаружить какой-то постоянно появляющийся в исходном коде текст, определенный тег, и в скрипт 5 команд записать «получить исходный код», «найти и выделить этот текст в исх.коде», «выйти если не найден», «обрезать все выше выделенного», «загрузить исходный код как текущую страницу».
Вот шаблон на обрезание шапки как раз это делает:
А планшет мой с UEFI и всякими устройствами, на который и XP трудно поставить, и драйвера для которых не найдешь в XP потом. Если бы все просто так было.
Заботится о лишних тактах процессора. Ставит Windows 10. Логика.
Я слышал, есть так же android-сборки для X86. Тоже весьма хороший вариант для такого планшета.
Решать, конечно, вам, но Windows 10 на таком железе, подобно выстрелу себе в ногу. А данное интересное поделие из статьи — способ ногу «залатать», но не вылечить.
И даже если на Linux этот планшет будет раза в полтора шустрее, оно того не стоит, ибо менять лучшую ОС (для планшетов так точно, если мы о десктоп осях говорим) на поделие с котором ты провозишься в несколько раз больше, чем для настройки W10, и то скорее всего у тебя куча вещей работать не будет, не будет дров, а потом еще думать — ну вот это я заменю тем, а это этим, ну подумаешь, придется привыкать к 10 новым программам, а еще к 10 аналогов либо не будет, либо они будут неполноценные/неудобные/etc.
На 10 это будет тормозное, но полноценное устройство, со всем софтом, и ограничением будет лишь возможности железа, на линуксе это будет больной кстарат, который еще и у тебя будет головную боль регулярно вызывать, а на андроиде — просто неполноценная бесполезная хрень.
В статье он упомянал, что у него дешевый планшет. У меня был опыт с похожим. На него обычно нереально где-то скачать драйвера, да и использовать Win7 на планшете — то еще извращение.
Автору же рекомендую поставить Win8 (даже не 8.1), ей на планшете и пользоваться приятнее, и по ресурсам требует на порядок меньше
Даже сейчас установлен, хотя, конечно, никакого софта на нём уже не пишу. :(
Но так приятно посмотреть на иконку.
Если все будут тратить силы на коммерческую разработку и забивать голову этими вашими квадратно-гнездовыми форматированиями, паттернами, стайлгайдами, фреймворками, инструментами командной разработки, ради потребления красивеньких массовых продуктов в свободное от работы и вбуханных в неё творческих сил время — кто же будет создавать шедевры программистского искусства?
Между прочим, сабж вполне соответствует идеологии экстремального программирования, около которой болтается модный Agile: задача первостепенной важности — выдать на-гора рабочий прототип, а технический долг и потом починить можно, если вообще понадобится. Тут говнокодить можно и даже нужно, потому как любая заминка на «а как правильно?..» чревата потерей энтузиазма и смертью проекта. Энтузиазм за деньги не купишь.
Стоит взглянуть на эту проблему с другой стороны. Раз ресурсы и так уже забиты виндой — зачем забивать их ещё и браузером? «Помирать — так с песней?»
Или нужно пользоваться планшетом без дров на 7?
Или вообще установить кривую недоделку в виде Linux, и сидеть без дров и там?
Заодно потратив очень много тактов своего мозга на то, что бы его там в принципе заставить удобоваримо работать.
Выберите что-то одно — инлайнить код, чтоб избавиться от оверхеда на вызов функций(на самом деле, компилятор с большой вероятностью это сделает для нормального кода там, где вызов функции занимает значительную часть времени) или запрашивать стейт из UI на каждом обращении(мало того, что это смешивание интерфейса и логики, так ещё там внутри и вызовы функций, которые вас так пугают).
В VCL прописан набор значений
TCheckBoxState = (cbUnchecked, cbChecked, cbGrayed);
И задан класс TCustomCheckBox, у которого
function GetChecked: Boolean; override;
procedure SetChecked(Value: Boolean); override;
property Checked: Boolean read GetChecked write SetChecked stored IsCheckedStored default False;
И есть процедуры
function TCustomCheckBox.GetChecked: Boolean;
begin
Result := State = cbChecked;
end;
function TButtonControl.IsCheckedStored: Boolean;
begin
Result := (ActionLink = nil) or not TButtonActionLink(ActionLink).IsCheckedLinked;
end;
Таким образом, вызов checkBox1.checked на чтение — это простое сравнение: State сейчас cbChecked или нет.
Это простая выдача значения внутренней чекбоксовской переменной. Поэтому запрашивать checkBox.checked не долго и не страшно.
Я думаю, вопрос по поводу «скорости» работы вызова checkBox.checked теперь исчерпан. Ее можно использовать, она выдает значение внутренней переменной.
Быстрее можно еще если единожды прочитать значения всех checkbox-ов перед парсингом, и потом использовать эти переменные. это уберет лишние CALL/RET на вызов getChecked из кода. На сколько-то процентов (м.б. долей процентов) поднимет скорость парсинга, т.к. там много медленной посимвольной работы с длинными строками, которая гораздо дольше.
Браузер был написан за несколько месяцев, работа по такой тонкой оптимизации еще предстоит (если будет проводиться, если вдруг меня не устроит скорость его работы).
Я думаю, вопрос по поводу «скорости» работы вызова checkBox.checked теперь исчерпан. Ее можно использовать, она выдает значение внутренней переменной.А вот и нет.
Директива Override определяет метод класса как замена так же названного метода в родительском классе.
Вы можете только отменить классы определенные как виртуальные (virtual) или динамический (dynamic) (последний вне области основ Delphi).Что такое виртуальный метод?
насчет кода — если туда-сюда гонять лишние аргументы в функциях
Это очень странное представление о том что и сколько стоит с точки зрения процессора.
Присоединюсь к совету синхронизовать ваше преставление о работе CPU с реальным миром.
Например, для i5 @ 2.2Ггц оверхед на вызов функции где-то 3нс,
представьте сколько раз нужно вызывать функцию, что бы это было возможно увидеть человеку? Еще при этом нужно учитывать, что если функцию вызывается только в одном месте, то есть код написан чтобы просто сделать его более простым для поддержки, то оптимизирующий компилятор даже этот оверхед уберет просто сделав 'inline' отптимизацию.
А если функция вызывается два и более раз, то можно даже выигрыш получить, из-за кэша инструкций.
А вообще автор явно гений. Не испугался и написал собственный браузер.
Восхищаюсь такими людьми. Которые, несмотря на критику, продолжают пилить свой софт.
А waterfox или аналогичные "обрезки" чем плохи?
У самого написать свой «html-only» браузер возникает примерно раз в неделю. Современный веб ужасен.
файл автоматически будет скачан в папку download рядом с EXE-шником браузера
Не очень хорошее решение. В том смысле, что несовместимо с используемой многими админами политикой безопасности с разграничением разрешений на папки для простого пользователя — «для поддерева папок нельзя одновременно разрешать запись и выполнение».
В принципе, выделение отдельной папки Download это уже шаг вперед по сравнению со складыванием в ту же папку, что и exe. Но требует индивидуальной настройки прав для папок, в то время как при типовом подходе «саму программу кладем в ProgramFiles, а все что она пишет — в пользовательский профиль» политика настраивается один раз для поддеревьев.
И когда приходится устанавливать программу, требующую индивидуального подхода — такой админ обычно ругается.
Кстати, на эту политику плюют и гиганты индустрии — например, Гугл, запихивающий экзешник Хрома в пользовательский профиль. (А вот FF разделяет).
включающих в себя скрипты JavaScript (или даже VB) (которые нужно выполнять после загрузки и по событиям типа «движение мыши над элементом» и др), CSS-стили, фреймы с другими страницами, медиа (картинки, музыку, видео и др.).
А что, если просто:
В моем предыдущем браузере Bro, встроенном в PaintCAD 4Windows, были команды для отключения скриптов в IE-движке (справа кнопки J — ява-скрипты, S — все скрипты). Но это не помогает. Неудачная загрузка сайтов на планшете с 1 гигабайтом оперативы на больших сайтах. Видимо, на сложных комбинациях стилей падает.
Так вот, ваш стиль написания кода (по крайней мере, в приведенных фрагментах) — ужасен. Так как с кодом имеете дело исключительно вы сами, вам кажется что это всё не так уж важно. Тем не менее, есть логика и здравый смысл, которые говорят о том, что плохо написанную программу тяжело поддерживать и развивать. И чем дальше она пишется в таком стиле, тем более вязкой становится кодовая база — каждая новая фича в софте требует всё больше усилий для её внедрения, поскольку под нее надо изменять и прошлый код.
Если у вас это не так, и программу легко дополнять, и не приходится возиться с ранее написанным кодом для внедрения нового — то я конечно извиняюсь и беру свои слова назад, возможно что вы выложили пару самых худших фрагментов, написанных в самом начале проекта, а потом сильно выросли как программист и остальной код намного грамотнее.
Но если нет — я предлагаю вам прочитать книжку «Совершенный код» Стива Макконнелла. Вот про неё на хабре был пост: habr.com/ru/post/77471
Я мморпг потом буду делать. Вот эту basis.blackstrip.ru, на андроиде в 3D. Сначала хотел в 2D, но сейчас уже код под 3D переписал, там на сайте старые, которые еще 2D, наработки.
Функция голосования временно заблокирована. Слишком часто минусуешь, %username%
Когда я сталкиваюсь с таким поведением, мне очень сложно бороться с эмоциями. Когда я писал комментарий, я желал автору добра. Он в ответ в меня плюнул. Ну, я не хочу видеть такого человека в сообществе хабра, у меня есть для этого инструмент, я им пользуюсь.
2. Ваш второй комментарий тоже полон желчи и желания оскорбить собеседника
«ваш стиль написания кода (по крайней мере, в приведенных фрагментах) — ужасен»
"***вода а ля сложнонаписанный код плохо читается, а простонаписанный — хорошо, а ведь вы этого не знали, а я такой дохрена умный пришел вам это рассказать***"
«я предлагаю вам прочитать книжку «Совершенный код» Стива Макконнелла»
Что вам на это ответить. «Спасибо, сэр, я буду совершенствоваться и от каждого ноунейма принимать предложения и книжки по философии, которые ему понравились, читать». У меня времени на это не хватит. Реальность такова.
Написал бы человек по простому «вон там табуляции нет, а я привык к ней, а вот здесь checked вызывается, а бы заранее его считал и использовал переменную с этим значением для ускорения» — и не было бы проблем. Код-то плевый в три строки а ля a = b+c, а щеки надуваем на метр кубический. Кто щеки надувает — тот мне не товарищ.
Пост давно не первый пишу, но на Хабре не иссякает поток таких дворян как Вы. Поэтому мне приходится так действовать. Причем давно не писал, ушел на всякие пикабу и прочие подобные. Попробовал сюда разок пост закинуть. Результат: концентрация зашквара упала, но где-то еще 50 на 50 нормальные люди и дворяне остались. Спадет ли все до нормальных людей, которые будут радоваться простым вещам и смотреть кто что творит и как это выглядит, а не тонуть в необоснованном снобизме, завышенном ЧСВ и напыщенном судействе? Хз.
Что вам на это ответить
"Спасибо, возможно прочитаю, раз многие более опытные программисты ее советуют. Я согласен, что мой код может плохо восприниматься посторонними, но так как я не планировал открывать исходники, то использую то форматирование, которое удобно мне". Вежливо и понятно. Это сложно? Нет. Вы могли так написать? Могли, но не захотели. В той форме, в которой вы написали, это и есть снобизм и завышенное ЧСВ.
Наш диалог вкратце:
- ты #&@, читай мою любимую книжку
- сам ты &@#, ты кто такой ваще? напиши конкретно что ты хочешь? а книжку себе засунь куда-нибудь поглубже
- ах ты хам, почему не ответил мне вежливо? трудно?
Не знаю, откуда вы взяли первое предложение. В первом комментарии этой ветки черным по белому написана вежливая фраза "Если у вас это не так, то я конечно извиняюсь и беру свои слова назад".
Второе предложение это хамство с вашей стороны. В любом варианте. А особенно в том, который есть по факту, с вежливым общением вашего собеседника.
Поэтому да, возникает вопрос в третьем. Вам трудно?
1. Аргументированная критика. «По моему скромному мнению, ваш код ужасен потому что...» и по пунктам что вам не нравится. Если вам не нравится отсутствие табуляции — то меня подводит автоматика (пошло еще с java2me) и я вместо этого «табулирую» комментами после «end;», что помогает в IDE где нельзя «свернуть» кусок кода между begin-end или подсмотреть что там наверху перед begin — понять к какому месту относится end. Это подробнее показано здесь: habr.com/ru/post/465709/?reply_to=20582095#comment_20577065. Если остальной код вас пугает типа «if checkBox1.checked then a=a+b» — то я не знаю что вам посоветовать, т.к. это обычный дельфи-код.
2. Не лейте воды. «Плохо написанную программу тяжело поддерживать и развивать. И чем дальше она пишется в таком стиле, тем более вязкой становится кодовая база — каждая новая фича в софте требует всё больше усилий для её внедрения, поскольку под нее надо изменять и прошлый код.» — очевидно даже любому идиоту. Видите, вы решили надменно кого-то учить — а теперь приходится учить вас. Это нормально. Как там «не говорите что мне делать — и я не скажу куда вам идти».
3. Ну и про книжки я уже писал. Тут аналогично «не говорите что мне делать — и я не скажу куда вам идти».
и по пунктам что вам не нравится
Вам и сказали, что не нравится. Причем несколько разных людей в разных комментариях. В обсуждаемом комментарии это обозначено словами "стиль написания кода". Вы хотите, чтобы каждый одно и то же в свой комментарий скопировал?
Если вам не нравится отсутствие табуляции — то меня подводит автоматика
Абсолютно неважно, что вас подводит. Вам высказали вежливое замечание, вы ответили хамством.
Аргументированная критика.
Не лейте воды.
То, что процитировано во втором пункте, это и есть аргументированная критика. Зачем вы ее просите, если она вам не нужна?
очевидно даже любому идиоту
Любому идиоту так же очевидно, что по этим причинам писать код в таком стиле не надо. Но вы пишете, значит для вас это неочевидно.
Видите, вы решили надменно кого-то учить
Вы же сами просили аргументированную критику. Аргументированная критика не бывает без объяснений. Без объяснений бывает только неаргументированная критика. Получается, что вы аргументированную критику вообще не воспринимаете ни в каком виде. Вот именно поэтому это и есть снобизм и завышенное ЧСВ.
не говорите что мне делать
Вам не говорили, а предложили.
Ну и про книжки я уже писал.
Ну и что с того, что вы писали? Ваш ответ не становится от этого менее хамским.
вот еще трейлер
Немного напомнило мне себя в молодости, когда каждая сделанная поделка казалась очень значимой, и на осторожную критику старших хотелось сказать — а ещё я сделал вот это, а ещё — вот ЭТО и вот-вот закончу ЭТО!
Это человек-кирпич!
Так как с кодом имеете дело исключительно вы сами, вам кажется что это всё не так уж важно.
Так автор же профессионально связан с разработкой софта.
Так что скорее всего не только он… Интересно было бы посмотреть на код написанный на работе.
автор указал, что не работает программистом.
Если не программист, то кто же он… Хотя, не прогер — уже хорошо.
В качестве хобби человек может писать как ему захочется и критиковать его за говнокод также бессмысленно как человека по вечерам выпиливающего лобзиком за то, что он не знает основ столярного дела.
Стебать, т.е. унижать и высмеивать недостатки такого человека (и любого другого человека), считаю низким и уж точно неуместным на этом ресурсе (как и вся эта ветка с бессмысленным спором тролей, но НЛО давно улетело...)
А дальше пока больших идей нет. По результатам использования будет видно чего еще не хватает.
Почему если вы считаете опенсорс чем-то плохим — продолжаете пользоваться ПО которое распространяется по лицензии GPL v2?
Купили бы какой-нибудь проприетарный движок и использовали бы его, были бы уверены в качестве кода).
Имхо, открытый код придумали ленивые кодеры, копипастящие все и вся из чужих проектов в свой проект, именно поэтому их код не представляет никакой ценности, т.к. это франкенштейн из кучи чужих проектов. Молодцы те, кто это продвинули — это надо было так объегорить кучу людей «делайте, старайтесь и выкладывайте просто так» — и народ повёлся. Теперь тем, кто это продвинул, можно безнаказанно тырить чужие проги, не париться дизассемблировать, понимать, разбираться, а просто брать готовые исходники и использовать у себя. Удобно чо. Правда в результате такого зоопарка исходники превращаются в редкостное и нормальный человек в них и разбираться не будет, тысячи форков от Васей и Петей из 6Б — кому они нужны?
Отлаженный, вылизанный и быстроработающий код — всем нужен. Но он закрыт. Так что пользуйтесь результатами работы зоопарка.
Например. Прямо говорит что опенсорсный код некачественный по определению и придумали его ленивые кодеры, а сам опенсорсный код не представляет никакой ценности. Но почему-то им пользуется, то есть для него этот код ценность представляет.
Но он имеет позицию «опенсорс придумали ленивые кодеры, и код в опенсорсе получается плохим, потому что он открытый, а вот проприетарный код качественный по определению». Поэтому я и задаю ему неудобные вопросы.
Вот что мешало ему взять и купить лицензию на качественный потому что проприетарный 1С: Битрикс за чуть менее пяти тысяч рублей?
Я идейный противник групп странных людей, которые советуют программные наработки выкладывать и раздавать всем. Я не вижу выгоды от такого выкладывания.
А брать готовые исходники из сети и класть хрен на воображаемые «лицензии» — это я могу с легкостью. Но использовать в своих программах я их не буду, не люблю плагиат. А как готовую приспособу использовать — это можно. Этот форум для меня не набор исходников по какой-то там лицензии GPL v147, а утилита для ведения некоторого подобия блога/журнала разработки. Всем раздают — я беру.
Если вы такой идейный противник групп странных людей, которые советуют программные наработки выкладывать и раздавать всем, то не надо использовать наработки этих людей. А то это выглядит странно
Я не вижу выгоды от такого выкладывания.
Как это не видите, если вы сознательно использовали его для получения выгоды? Это описано у вас в первом абзаце.
Хм, так сложно представить, что выкладывающий может себя представить на месте использующего?
А вот использующий — это уже другое дело. Взял чужой код, опа — и он уже твой. Хочешь — честно конкурируй с основным разработчиком, пиши с нуля, просто ознакомившись с возможностями. Хочешь — бери проект целиком и делай своим, новое название примотай, пару функций допиши и вперед. Хочешь — используй готовые его наработки из этого кода частично. Хочешь — добавь туда что-нибудь вредное и распространяй под видом оригинала, выдавливая его как конкурента такими действиями. Выгода многогранна и очевидна.
Поэтому выгода выкладывающего и выгода использующего совершенно различны.
Зачем он это сделал? Ждет школьников в свою команду?
Хочет похвастаться кодом?
Просто поддался веяниям «все выкладывают, надо выложить»
У вас настолько далекие от реальности представления, что вы из трех раз ни разу не угадали.
Он это сделал, чтобы помочь другим. Да, вот так вот.
Чтобы другие могли использовать то, что он написал. Чтобы не тратили время на то, что уже сделано. А для другой функциональности он возьмет то, что сделали другие, и не будет тратить свое время. Вот это и означает, что выкладывающий может себя представить на месте использующего.
По остальному тоже поясню, а то судя по тому, что вы пишете про использование вами чужого кода, ваши действия могут создать некоторые неприятности для других разработчиков.
Взял чужой код, опа — и он уже твой.
Это не так, и вы можете попасть под суд, если будете подобным образом относиться к чужому коду.
Хочешь — бери проект целиком и делай своим, новое название примотай, пару функций допиши и вперед.
Пожалуйста, сохраняете упоминания авторов там где они были, и вперед. Если лицензия позволяет. Иначе см. предыдущий пункт.
Хочешь — используй готовые его наработки из этого кода частично.
Это и есть одна из причин, по которой выкладывают код. Предложить свои наработки другим. Сохраняете упоминания авторов там где они были, и используете. Опять же, если лицензия позволяет.
Хочешь — добавь туда что-нибудь вредное и распространяй под видом оригинала, выдавливая его как конкурента такими действиями.
Я вам уже выше объяснял, что исходники для этого не нужны. Более того, исходники как раз и выкладывают, чтобы доказать, что ничего вредного нет. Но дело даже не в этом.
Вот взяли вы исходный код браузера Firefox, добавили туда что-то вредное. И что дальше? Зачем кому-то скачивать браузер у вас, если он доступен на официальном сайте? Зачем кому-то скачивать исходный код у вас, если он доступен на GitHub или на том же официальном сайте? Как вы будете его "выдавливать"? Да никак.
Под суд за копирование кода? Вот он — мой коммент про басманный суд habr.com/ru/post/465709/#comment_20574713
Фаерфокс — очень известный проект. Его трудно будет так испортить, т.к. свою ссылку среди десятков тысяч других на этот браузер даже дать будет трудно. А вот малоизвестную прогу легко. Ее в одном месте раздают, а вы во втором даете, с рекламой, с описанием, все красиво, через каталоги, через форумы, через магазины софта, вполне реально.
Ну так можно и отдельные алгоритмы выкладывать. Вываливать всё сразу-то зачем?
Чтобы предоставить работоспособный продукт, а не поделку, которую непонятно как запускать и использовать. Вам вообще говоря какая разница, что другие делают со своим кодом? Захотели выложить весь проект, вот и выложили.
Вон Хромов-Хромиумов наплодили десятки с разными обертками, и зачем это? Лучше бы были десятки разных конкурирующих браузеров
Десятков конкурирующих браузеров нет совершенно по другим причинам. Разработку Opera например свернули, хотя код у нее был закрыт. И разработку IE тоже, хотя у него и код закрыт, и денег у компании достаточно.
А потом автор придет в басманный суд и будет трясти флешкой с лицензиями? И он выиграет суд? Сомневаюсь)
https://habr.com/ru/post/322016/
https://habr.com/ru/post/329042/
https://habr.com/ru/post/182848/
Но говорил я это не столько по поводу кода, который вы пишете, сколько по поводу кода, который вы используете.
"А брать готовые исходники из сети и класть хрен на воображаемые «лицензии» — это я могу с легкостью. Всем раздают — я беру. Я не смотрю что это опенсорс или просто исходник на каком-то сайте."
«совершенно по другим причинам» — это прям как «ваш код ужасен, вам сказали почему — стиль плохой, чо непонятно штоле?». Без пояснения остается непонятным. На мой взгляд разработку многих браузеров свернули т.к. есть бесплатный хромиум, можно его передирать друг у друга и не делать ничего нового, и не платить никому зарплату.
Насчет авторского права на код: в России это не сработает, имхо. habr.com/ru/post/329042/#comment_10235202,
Да и чтобы наш дубовый суд принял решение что «да, код украден» — должны взять код проги и сравнить с другой прогой.
Одно дело если я юридическое лицо, продающее программный продукт, которое можно хоть как-нибудь заставить раскрыть исходники, убедиться что стырена целиком какая-нибудь прога, выданная за свою (или ее достаточно большой кусок).
А другое дело — человек, который сам творит, пишет проги и выкладывает в инет бесплатно. Как его найти, вычислить, заставить выдать исходники, вычислить выгоду (равную нулю рублей) и ущерб настоящим авторам кода (равный нулю рублей), и кто этим всем будет заниматься?
Да и среди прог BlackStrip Studios вы не найдете ничего похожего на существующие программные продукты. На 99% процентов все написано вручную за исключением некоторых простых алгоритмов, переписанных с одних языков на другие или заимствованных из форумов/обучающих статей в сети сразу на конечном языке.
Работоспособный продукт распространяется в виде исполняемого файла. Так было с махровых 80х. Если вам непонятно как запустить его — то это не ко мне
Как это связано с моим ответом на ваши вопросы "Зачем он это сделал? Можно и отдельные алгоритмы выкладывать. Вываливать всё сразу-то зачем?"?
«совершенно по другим причинам» — это прям как «ваш код ужасен, вам сказали почему — стиль плохой, чо непонятно штоле?». Без пояснения остается непонятным.
"Совершенно по другим причинам" означает, что тема слишком большая, чтобы описать ее в двух словах в комментарии. Я дал пару примеров, если бы вам было интересно, вы бы сами поискали информацию.
По поводу стиля вам целую кучу пояснений дали в комментариях. И даже дали отсылки к материалам, где это объясняется более подробно. Какие еще пояснения вам нужны?
и не платить никому зарплату
Эм, то есть вы всерьез считаете, что все фирмы по разработке ПО должны тратить много денег только потому что лично вам не нравится открытый исходный код? Может фирмы все-таки сами будут решать, как тратить свои деньги?
Насчет авторского права на код: в России это не сработает, имхо.
А первую и третью ссылки вы решили проигнорировать, так как тогда не получилось бы написать такой комментарий?
blackstrip, речь об очень обширной теме, по которой (но на самом деле, и о много большем) написана целая книга. У меня был свой маленький проект, который я начал чтобы осваивать C++, и я думал что всё у меня в целом норм, ну то есть ужасно наверняка с точки зрения опытного программиста, но в целом — сгодится. Когда я начал читать «Совершенный код» — мне несколько раз было очень стыдно за свой код, по нескольким независимым причинам. В комментариях к статье о книге, на которую я давал ссылку — множество людей пишут одно и то же — каждый из них считает книгу обязательной к прочтению любому, кто пишет код. И я теперь тоже так считаю. Советовал её совершенно чистосердечно, а то что мой комментарий показался вам пропитанным снобизмом — это потому, что я горячо несогласен с вашей позицией по опенсорсу, но решил поступиться возможностью вам её высказать, чтобы немного увеличить шансы, что вы прислушаетесь к моим словам. Не особо вышло, я в целом не сильно и рассчитывал.
Касательно вашего кода и «что с ним не так». В целом, претензии (у всех остальных в этом треде) к двум вещам — отступы и повсеместное использование переменных без осмысленного названия. Дело в том, что это говорит о незнании самых базовых основ. Вы можете возразить, что знаете о существовании отступов, но у вас есть причины их не использовать. Как и имена переменных — «мне без разницы, я помню что такое checkbox1». Это выглядит со стороны, как ребенок в школе, который учится писать, пишет все предложения с маленькой буквы, не использует вообще знаков препинания, и утверждает что он про всё это знает, но ему так удобнее.
Но самое, пожалуй, важное — незнание основ с высокой степенью вероятности говорит о том, что есть и другие проблемы, на которые вам никто не может указать, потому что вы не выложили достаточный кусок кода. Если видишь что из-за угла торчит полусгнившая человеческая нога, стоит ожидать (с высокой степенью вероятности) что за углом лежит труп.
Человеку, привыкшему к хорошему, проверяемому разными службами качества в разных фирмах по разработке ПО, коду мой код, действительно, мог показаться диким. Но я частный деятель, в одном лице разработчик/тестер/поддержка, поэтому у меня разработка не подчиняется правилам, к которым уже давно привыкли большинство профессиональных программистов, работающих с выпуска из института в этой отрасли.
Без табуляции в Дельфе пишу давно. Посмотрел свои проекты на java2me, на яве-андроидовской — там везде табуляция есть, т.к. там ее IDE проставляет более-менее нормально и там я привык с ней бороться если она неправильно ставится. В Дельфе же — что есть то есть, она тоже пытается проставить табуляцию, но я ее стираю и не борюсь с ней. Мало того, мой ноут (на котором я все это и пишу по пути на работу и с работы в эл-ках и другом транспорте) имеет экран 1024х600 точек и с табуляцией все бы еще сильней уезжало вбок, приходилось бы с трудом смотреть текст.
Можно, наверное, прогнать прогу через какой-нибудь автотабулятор, он сдвинет строки и все станет табулированным как надо. Но сам я и так привык разбираться в этой куче кода (путем тех самых комментов после end). А другим показывать код для изучения/понимания не планировал и передавать на дальнейшую доработку тоже не планировал.
checkBox-ов у меня 20 шт на форме, и как их не называй — в конечном машинном коде это никак не отразится. Поэтому это тоже дело красоты исходников. Если бы я делал проект для кучи народа, хотел чтобы они изучали/заимствовали/понимали/помогали, то я бы обозначил чекбоксы иначе. Но т.к. занимаюсь проектом только я, то если я забыл что написано, а комментов рядом нет, то я смотрю написано «чекбокс20» в коде — в менеджере объектов в списке выбираю «чекбокс20», смотрю что на форме выделилось. А на форме все чекбоксы имеют надписи типа «UTF8» или «Сохранять историю», тут я и понимаю что это за чекбокс.
Большой доработки этого кода, скорее всего, не будет. Максимум что сейчас делаю — это переписываю/конвертирую написанное под андроид для выпуска JustCode в Google Play. Раз-другой эти 20 флажков еще раз посмотрю на форме и всё. Поэтому оставлю их названия как есть.
Но я частный деятель, в одном лице разработчик/тестер/поддержка, поэтому у меня разработка не подчиняется правилам, к которым уже давно привыкли большинство профессиональных программистов
Все эти правила написаны кровью, а вернее — человекочасами лишней работы. То что вы их не соблюдаете — бьет исключительно по вам самим. Хотя вы этого можете не осознавать, всё познаётся в сравнении.
Конечно хорошо бы выработать у себя стиль написания кода, который ясен и понятен любому другому, с табуляцией, комментами, и потом если вдруг когда-то нужно будет какие-то исходники отдать другому/в другую команду — то уже все будет готово. Не спорю с этим.
Но у меня такой возможности, вероятно, не будет. По образованию я совсем не чистый кодер, а электронщик-прикладной кодер, в программерский коллектив где пашут с утра и до поздней ночи, жертвуя собственной личной жизнью, я скорее всего не пойду никогда (да и не возьмут, поздновато, там любят простых ребят-ноулайферов прям с института забрать, в каком-нибудь своем колледже-доп.образовании-стажировке обучить и за копейки посадить до ночи, чтоб там и жил на этой работе пока молодой достаточно). Работа связана с кодерством весьма отдаленно, и все проекты как по программной, так и по аппаратной части, так и по бумажной части, так и по сопровождению, исполняются усилиями нескольких человек.
Поэтому с одной стороны — да, если писать код качественно, то можно его всем давать/передавать/продавать и все будут его легко использовать, не мучаясь со зрительной интерпретацией и пониманием, это прекрасно, а с другой стороны — нет, т.к. давать код никому не предвидится, то и нет смысла лезть из кожи вон, особенно в соло-проектах с закрытым кодом (которые я пишу с детства, привык так), достаточно написать чтобы самому разобраться.
Даже этот код на вышеприведенной для прикола картинке — ну скобки снесли вбок, глаз все равно при открытой фигурной ищет ответную закрытую и все их сразу и находит. Как надоест их путать с двоеточиями — ну снести можно вниз по одной по enter или сразу поиском заменить скобку на перенос+скобку. А так — вполне терпимо.
Не знаю откуда у вас столько терпения объяснять всё
Ну, у меня тут есть своя заинтересованность) У таких людей всегда много всяких логических нестыковок в рассуждениях — неправильные выводы, необоснованные преувеличения, подмена понятий. Найти и сформулировать все это тренирует навык логического анализа, а это в нашей профессии полезная вещь. Если встреваю в чью-то беседу, жду или пока ответит тот, кому писали, или пока достаточно времени пройдет и станет понятно, что человек отвечать не будет.
Или вы хотите мне запретить запускать проги и использовать алгоритмы из инета потому что я негативно отношусь к группам школьников, которые собравшись вместе пытаются (и думают что у них получается) написать качественный программный продукт? а потом разбредаются и снова в других сочетаниях лепят еще и еще, выкладывают, обмениваются этим всем, тут дописал, там дописал, там поправил, здесь добавил, ни одной своей проги толком нет, и так живут, гордо именуя себя разработчиками софта с открытым исходным кодом. Я не хочу быть таким, мне это неинтересно и скучно.
P.S. Или действуете по принципу нипеля — туда дуй, оттуда х…
Да и авторам переделанных кусков кода, возможно, было бы интересно посмотреть на изменения в дизайне их ПО.
не люблю плагиат.
Да и это скучно. Ты же творишь сам, делаешь интерфейс, фичи придумываешь, раскладываешь их по проге, связываешь друг с другом. Зачем просто копировать чужое, это подход убогих людей без фантазии и опенсорсеров всяких, которые «форкают» все что движется вместо того, чтобы писать свое собственное.
Я только готовые небольшие алгоритмы для конкретного «на входе А — на выходе Б» использую иногда. Не более того. И то приходится их проверять, а то так возьмешь — а оно в 50% случаев не пашет. Будет стыдно.
Много ли кода вы воруете?
P.S. У автора статьи есть и тема по его недобраузеру на gamedev.ru JustCode — новый браузер для Windows
Берешь три плохих, тестишь по очереди, соединяешь кусок оттуда, кусок отсюда, тестишь, провал, соединяешь кусок отсюда, кусок оттуда, тестишь, успех — вуаля, получаешь один, но свой и хорошийПроще сразу свой хороший написать
У меня только сейчас «звёзды совпали» для его рассмотрения, хотя книга куплена по нему очень давно, и так и стояла на полке.
(самое дорогое моё приобретение данной книги по программоривонию в момент её покупки. :) Больше таких книг по TCL/TK и других больше не издавали в переводе на русский язык. Читаю с удовольствием.
А целиком проги, разработанные толпой бомжей и школьников, форкающих друг друга — это совсем другое.
Написал документ, теперь при вопросе «а где исходники», «делиться надо», «все опенсорс разрабатывают, как не стыдно проприетарить» сразу буду посылать на него: blackstrip.ru/phpBB2/viewtopic.php?f=3&t=768
Особенно мне понравилась статья Марка Тэрвера «Проблемы открытого кода» (приведена по ссылке в самом низу как Доп.информация 2), которую он написал в 2009, потом еще правил в 2016 и еще другие статьи подобные про опенсорс написал. Все прям как я здесь отразил в комментах. И про некачественность. И про то, что школьники написать ничего хорошего вместе не могут. И про то, что гигантам IT выгодно иметь готовый бесплатный код от лохов (как там написано, «от юных и наивных»), нежели писать свой за деньги, поэтому они поддерживают опенсорс всеми руками и ногами.
Но опенсорсеры в своей секте еще долго, конечно, будут брызгать слюнями. На здоровье)
Нет принципиальной разницы между готовым и упакованным продуктом в красивой обертке и ключевыми функциями этого самого продукта.
Марку Тэрверу несложно оппонировать. Он весьма умело пользуется правилами демагогии (несомненно, за весьма достаточную сумму). Ну вот прям совсем краткий разбор статьи, вам на ознакомление. Легально и бесплатно, берите.
У вас какая-то однобокая выборка гигантов IT. Как насчет RedHat? Canonical или там iXsystems уже не в счет? Хотите, я вам еще десяток крупных компаний укажу? Или они все в одной секте? Ууу, кругом заговор опенсорсеров, надо срочно использовать священный Windows…
— Некрасиво с вашей стороны безжалостно перевирать аргументацию оппонентов на своем ресурсе. Впрочем, этого стоило ожидать.
Я имел ввиду под «функциями» функции типа WinAPI. Когда не знаешь как две строки написать, что в нее отправить чтоб она сработала и как принять ответ. Или, например, перекодировать текст в определенную кодировку, дешифровать набор русских UTF8 символов из их кодов в разнообразных формах. Это элементарные алгоритмы, на основе которых ты учишься и пишешь по итогу свой. Форк это целиком, не ударив палец о палец, украсть чужую прогу и продолжать ее развивать. Я считаю что это плохо, не способствует развитию человека как кодера, стырить чужое много ума не надо. Написать свое, тащить целиком проект 5-10 лет — это совсем другое нежели писать по две строки в чужие проекты и потом форкать те проекты целиком, в которые твои изменения не приняли. Поэтому я против опенсорса. Он портит тех кодеров, которые могли бы писать свое. И никогда не открою ни строчки кода. Разве что простые алгоритмы подобные описанным мною выше. И по просьбе именно интересующихся и разбирающихся товарищей, которые также как и я пишут софт, а не тырят готовое.
А как Марку Тэрверу всякая гопота оппонирует, я почитал сполна. Но все эти отзывы подобны вострикову, который в ответ сначала пишет «я очешуенный психолог, мне интересно то-то и сё-то». А потом скатывается до вопросов «а сколько в хромиуме чужих строк кода?» и «то что вы написали — чушь». Вот эти слова «чушь», «ерунда», «бред» — основные «доводы» на статьи подобные статье Марка Тэрвера. На каждый абзац продуманного текста с доводами они отвечают что-нибудь типа «с первого слова бред, неправда, чушь, ведь наше спо не лучше другого по», хотя он написал почему оно хуже и откуда ноги растут.
Имхо, многие просто не умеют думать большими категориями. Никогда не имели ничего своего от начала и до конца. И не разрабатывали большого софта. Писали по две строчки в проект — да. Форкали чужие программы потому что не в состоянии сподвигнуть себя на усилия чтобы написать свои собственные — да. Поэтому они не понимают что может быть ценного в собственном софте — они никогда не видели его.
Разве я говорю, что я против СПО? Вовсе нет. Если человек что-то создает и хочет этим поделиться с другими – это замечательно. Осуждать таких людей было бы несправедливо. Это результат их труда и пусть они решают как им распорядиться. Но я против принуждения людей делиться, а в случае отказа — осуждения их в свете GPL.
Классная мысль Тэрвера. Особенно после того, как многие удивляются «где исходники? без них нет смысла? это необщепринятые вещи — не давать исходников к проекту!» или в посте про то, как Nintendo закрыла доступ к магазину Wii, комменты типа «как они посмели? надо такой закон ввести чтобы все частное становилось общественным через N лет, все давалось в общий доступ, исходники открывались».
Совсем секта OS охренела. Если я придумал продукт, договорился с издателем о продаже, продавал с ним его 10 лет на определенных условиях типа «даю в аренду на 10 лет, потом доступ будет прекращен», потом прекратил продажу — всё. Покупали по условиям договора, доступ кончился — привет. Какие еще могут быть исходники для этой школоты, бездарей и лентяев, палец о палец не ударивших для создания этих продуктов и теперь «хотящих исходников потому что они играли в продукт, взятый в аренду»?
Раньше я был спокоен «ну есть опенсорсеры, мне побоку, дела до них нет», но теперь почитав подобные «оппонирования» типа против Тэрвера я вижу какая это чума и секта. Нафиг, нафиг.
У вас странное представление о термине «форк». Возможно, вы просто подзабыли, что это не копирование чужого проекта и его дальнейшее развитие.
Написать свое, тащить крайне узконишевый проект 5-10 лет и для чего? Толку в нем особого нет, так, ради принципа. «Все равно его не брошу, потому что он хороший». Никогда даже элементарных алгоритмов никому не открывайте, даже в целях образования. Это строжайше запрещено. А вдруг кто попрет в свою программу? Это же проприетарный закрытый код, нельзя его использовать.
А вы оригинал статьи читали? Ну ведь действительно, мягко говоря, странная позиция у автора. Уж кому-кому, а ему должно быть стыдно. Явная и неприкрытая подмена понятий видна невооруженным глазом. Вас это не смущает? И на каком основании вы называете его критиков гопниками? Вы им в головы заглядывали (ваш аргумент) или вместе с ними телефоны у прохожих отжимали?
Я вас уверяю, если не верите — проверяйте сами, очень многие известные лица причастны к OS и у них есть свое, на порядки большее, чем ваше. Даже на пару порядков большее. И они видят, что самое ценное в их софте — это его повсеместное использование. За свои 10 лет вы можете этим похвастаться? Кто, кроме вас, им пользуется? Только честно?
Разве я говорю, что я против СПО? Вовсе нет. Если человек что-то создает и хочет этим поделиться с другими – это замечательно. Осуждать таких людей было бы несправедливо. Это результат их труда и пусть они решают как им распорядиться. Но я против принуждения людей делиться, а в случае отказа — осуждения их в свете GPL.
Замечательная мысль. Кроме пары нюансов. Пусть на здоровье пишут свое собственное. Но только действительно свое, GPL этого не запрещает. Она запрещает воровать и прятать. Взял чужой код? Будь добр, открой результат. И это, с точки зрения, Тэрвера — ужасно. С вашей тоже?
В мире частных прав, неограниченных здравым смыслом и интересами общественности, вы не сможете прочесть ни строчки. Золотая полка литературы и гуманитарных достижений всего человечества пройдет мимо вас. Потому что все это не будет достоянием общественности, это все частное. А значит — нельзя. Максимум — пара строк. Для любознательных писателей. Потому что нельзя, пусть пишут сами, чего людей баловать?
Раньше мне было все равно. Ну есть идейные воры-проприетарщики, паразитирующие на OS. Ну и пусть живут, кому они мешают? Да мне и сейчас все равно. Раздражает только их воинствующее нежелание воспринимать доводы оппонента.
Ну а остальное все по Тэрверу:
8. Несмотря ни на какие доводы, сторонники СПО будут игнорировать их.
Причем интересно, что я не читая его написал большинство из его доводов в комментах. И вы все равно кричите: проплаченный мужик. Выходит и я проплаченный. Но где мои деньги?
Вопрос, почему вы не опубликовали исходники, вы воспринимаете, как просьбу. Замечание, что на хабре принято открывать код — как строгое предписание. Уже не в одном комментарии, в том числе и моем, вам уже было сказано, что открывать или нет — дело исключительно ваше. Это не одобряется многими комментаторами, но это ваше желание и насильно никто не вправе заставить вас это сделать. Однако дальше вы говорите, что спокойно заимствуете примеры чужого кода, не ответили на вопрос о лицензировании вашего ПО и весьма наплевательски относитесь к всевозможным лицензиям. Хотя сами пропагандируете защиту прав и всего прочего. Ничего удивительного, что сообщество негативно к вам настроено. Или черный пиар — все равно пиар?
Ваша расценка событий не может служить мерилом объективности. Это исключительно субъективное мнение, как с моей стороны, так и с вашей. Пока вы не предъявите прямую цитату «ты @#&, у нас тут принято исходниками делиться, ты нарушаешь правила», а потом «я не просил исходники, вы перевираете мои слова» — вы не можете ничего утверждать.
8. Несмотря ни на какие доводы, сторонники СПО будут игнорировать их.
Но где они, эти доводы? Человек постоянно путает теплое с мягким и строит на этом свою аргументацию, приводит заведомо ложные утверждения и элементарно давит на эмоции. Ну как можно воспринимать это серьезно? Ну и беспроигрышный — использовать логическую ловушку. Если оппонент не согласен с точкой зрения, можно заранее объявить, что это сектантство и желание халявы или еще-чего-нибудь. Главное, не потому, что доводы неубедительные, факты искаженные и термины некорректные.
Но все эти отзывы подобны вострикову
А потом скатывается до вопросов «а сколько в хромиуме чужих строк кода?»
А вы все никак не успокоитесь, все пишете и пишете про меня. Видимо я вас сильно задел.
Тему про количество чужих строк начали вы, на что и получили закономерную просьбу подтвердить свои слова. Я вас кажется уже просил не приписывать мне ваши фантазии.
и «то что вы написали — чушь»
А остальные комменты, где я вам объяснял в чем именно ваши представления не соответствуют фактам, вы решили проигнорировать? В одном из них прямо так и написано "Вот поэтому все ваши дальнейшие рассуждения ерунда". Я буду болдом главные слова выделять, на всякий случай.
Само предложение, о котором вы говорите, я пожалуй процитирую целиком, раз вы вырываете слова из контекста. Я в общем-то даже не думал, что вы опуститесь до подобных приемов.
"Люди вам объясняли, в чем заключается ложность, что вы несете чушь, и почему это чушь".
Оно описывает содержание обсуждения. Оно не относится напрямую к вашим словам. Аргументы присутствуют в обсуждении, на которое есть отсылка в тексте. Я должен был скопипастить их еще раз?
хотя он написал почему оно хуже и откуда ноги растут
Все кто вам возражал тоже написали, почему вы не правы.
я текст… расцениваю именно как просьбу открыть исходники
Вы расцениваете? Ну вот, что и требовалось доказать. Придумываете, а потом приписываете собеседникам.
И еще раз, коммент:
Это вы похоже не понимаете. В статьях типа «смотрите какую клевую штуку я сделал» хорошим тоном считается предоставление исходников. Насколько я знаю, на Хабре так было всегда. Причины есть разные, от любопытства до доказательства отстустсвия вредоносного кода, но дело не в этом, а в том что это вы делаете необщепринятые вещи, поэтому не надо удивляться и обвинять других. Сказали, что не выложите, объяснили причины, и всё, не надо учить других. Аналогов вашей «халявы» полно.
— есть обвинение в том что «исходники не выкладывать — плохо, не принято, не по придуманным в вашей голове правилами, не подходит для местного сообщества». А у меня, вот наоборот, исходники не выкладывать — хорошо, принято, по правилам и подходит отлично для остального сообщества. Не входящего в секту долбанутых опенсорсеров, разумеется, которые решили что все должны им вынуть и положить исходники, а их вместо этого нахрен посылают, отчего это, непонятно даже, они удивленно поднимают брови и пишут «Ооо, я не просил исходники». Называйте вещи своими именами. Если вы подходите с ножом к человеку с кошельком в кармане и говорите «дружок, здесь принято делиться» — то не надо потом изворачиваться «я же не сказал: гони кошелек, я просто рассказал общие правила». Если вы и это не понимаете — то вот реально и откровенно говорю «удачи», потому это не разговор и не дискуссия, нам не о чем говорить. Единственное что я почерпнул — это то, что теперь вместо разговоров с опенсорсерами я просто буду гонять ссаными тряпками этих недокодеров. Ибо каждый из них сначала нагло просит исходники, потом злится что ему их не дают, потом начинает расписывать какие-то ковры, в которых на все доводы пишет «бред, бред, бред». Это же наблюдается не только в этом посте на хабре, а вообще в любом треде в интернете на любой подобный запрос, обсуждение Марка Тэрвера с его «проблемами открытого кода» или вообще обсуждение о том, что OS это плохой, некачественный и тупиковый путь, который выигрывает из-за дешевизны конечного продукта и возможности воровать код другими опенсорсерами и большими корпорациями и ни за что не отвечать в разработанных продуктах. Тогда нет смысла это обсуждать. Увидел опенсорсера — послал далеко. Теперь у меня такое правило. Оревуар.
есть обвинение
Нет там обвинения. Есть информация. Объяснение, почему другие люди (не я) у вас их спрашивают. Все остальное вы додумали сами, это ваши фантазии.
в которых на все доводы пишет «бред, бред, бред». Это же наблюдается не только в этом посте на хабре
В этом посте на Хабре такого не наблюдается. В каждом возражении вам есть ответные доводы, почему вы не правы. Почему вы их игнорируете? Вы думаете, если проигнорировать, то их как бы и нет? Но это ведь не так, они никуда из комментариев не денутся.
Приведу небольшую статистику, чтобы вы подумали о том что пишете, и на этом закончу указывать в этом обсуждении в чем вы не правы, потому что надоело. Настоятельно прошу не упоминать меня более в ваших комментариях.
Слово "бред" около десятка раз встречается в ваших комментариях. Есть всего два комментария от других пользователей, которые привели доводы, почему использовали эту характеристику.
Слово "чушь" встречается только в ваших комментариях. Кроме одного моего, в котором оно используется в качестве описания обсуждения. Впрочем, своих доводов во время этого обсуждения я приводил много, включая цитаты ваших собственных слов в качестве их подтверждения.
Слово "ерунда" встречается в одном моем комментарии, в предложении, которое начинается словами "Вот поэтому", то есть содержит довод.
Слово "неправда" встречается только в одном комментарии, который принадлежит вам.
Какое еще сообщество?) Рейтинг поста посмотрите и поймете выводы настоящего сообщества, а не вашей секты. Просто это человек 30 фанатиков-сектантов, которые удивлены что их посылают далеко когда они имеют наглость просить исходники прям как привыкли у себя в секте это делать, обозначая это как «общепринятое».
Не устраивают посты про проприетарный софт — ищите другие про про опенсорс. Не устраивают посты про закрытый Windows-софт — ищите посты про открытый Linux-софт. Параноите что кто-то паразитирует на вашем OS — ищите другие посты, где никто не паразитирует, а еще сходите к психологу и расскажите что у вас навязчивая идея что все крадут ваш опенсорс и скрывают потом его в проприетарном софте, а еще что человек спрашивал «выложу в опенсорс и у меня украдут, что меня защитит, что вообще может защитить выложенный полностью код от кражи?», и вы подумали что значит он собрался сам красть, и наверняка уже украл, поэтому и спрашивает, издеваясь и подшучивая над вами от своей безнаказанности, может вам помогут, если еще не слишком поздно и есть надежда на выздоровление, объяснят что человек просто не хочет выкладывать ничего, т.к. не чувствует никакой юридической защиты от выдуманных сектантами «лицензий», особенно в России.
И уж точно не вам мне советовать что делать, а то сейчас скажу куда вам идти. И опять вы будете возмущаться и ныть.
P.S. Могу предположить, что это ограничивает Вашу личную способность к продвижению своих поделий и зарабатыванию на них денег, но возможно это неправда.
Потому, что если есть некоторая цель «осчастливить» пользователей с недопланшетами, то им глубоко фиолетово украдёт ли кто у Вас код или нет, а поводы по разгребанию сторонних правок Вашего кода, если он кому то вдруг станет интересен, уже можно не принимать, а своим кодом доказывая лучшие решения в своём коде. (если это имеет какой то смысл в Вашей системе ценностей)
Из чистой логики. Могут собраться хорошие кодеры и написать качественный код если они «вместе работают за деньги» или «одиночка-кодер работает из энтузиазма». Как только появляется «группа работающих забесплатно» — вылезают все минусы такой разработки. В большинстве случаев (заметьте, не в 100%, а в большинстве) они не будут сидеть и разрабатывать забесплатно. Они пойдут на платную работу, из прагматизма и реальности, а не идеализированных фантазий «вот все вместе соберемся и напишем». Вот пример: habr.com/ru/post/346130 (Так почему же ты не участвуешь в разработке Open Source программного обеспечения?) — топ-коммент:
Все очень просто. Мне за опенсурс не платят деньги.
Аргумент, что кто-то поделился и ты должен — не состоятелен. На опенсурсе зарабатывают. Кто-то нет, но в большинстве да. Проекты пишутся до тех пор пока в них сливаются деньги компаний заинтересованных в проектах.
Я учавствую в опенсурс но лишь там, где это принесет мне выгоду в виде куска кода, исправоенного бага, новых знаний. Но это не значит что я буду тратить свое время на доказывагие чего-то кому-то.
Есть деньги — есть «бесплатный опенсорс». Нет денег — есть мусорный проект с кривым бесплатным неопытным руководством и бомжами, алкашами и школьниками (т.е. юными наивными молодыми людьми) в команде. В большинстве случаев, хотя конечно могут и вылезти без внешних вливаний единицы нормального софта с нормальным интерфейсом и хорошим функционалом, если придет опытный крутой лидер, сядет и стиснув зубы станет забесплатно руководить, потом придут классные кодеры, бросив свою работу станут интенсивно писать чужой проект и скидывать в общую копилку. Но скорее всего все будет наоборот, неповоротливое руководство, медленное продвижение в разработке, неудачные кривые идеи, лидер не принимает, какие-то форки посыпятся вместо основного единственного проекта, и на выходе — 5 мусорных программ, которые никому не нужны.
Это не оскорбления, это логические выводы о выдуманных бесплатных слаженных командах программистов, не получающих извне никаких вливаний и работающих забесплатно. Понятно что за 0 рублей получишь сотрудников соответственного качества (нулевого). И потом они постоянно будут меняться, т.к. ничем не обязаны проекту.
Соло-разработка — более сильный и ответственный вариант разработки (то что у меня — кажется называется «домашний проект» или «pet project»). Ты все держишь на себе, выполняешь запросы юзеров по функционалу (но не принимаешь и не рассматриваешь никаких исходников), и есть бОльшая вероятность что на выходе ты быстро получишь хороший многофункциональный отлаженный софт.
Конечно с этим можно спорить. И сейчас прибежит очередной Востриков и напишет мне ковер замечаний.
Больше всего меня возмущают просьбы исходников и призывы к открытому коду потому что «так принято» у кого-то там. У меня так не принято. А т.к. я единственный разработчик моих проектов — то я продолжаю делать именно так. У меня такая модель разработки и продвижения ПО. Мне она кажется наиболее крепкой и выдающей гарантированный результат по сравнению с опенсорсом за 0 рублей 0 копеек и неизвестными товарищами, которые может и не придут (или придут и дадут мне только лишнюю головную боль и очередные споры по поводу будущего проекта), но при этом окончательно слитому в инет полному коду, который является моим собственным набором наработок, предполагаемых к использованию в будущем ПО включая коммерческие решения.
И я окончательно стал против опенсорса. Он мешает каждому разрабатывать свои авторские проекты. Он создает много мусора, поощряет плагиат (пусть и с «лицензией»), поощряет и популяризирует бесплатную работу на дядю лидера, результаты которой все заберут опять же забесплатно. Он создает фанатиков, которые спокойно подходят к тебе и требуют коды и удивляются ответному отказу («удивляются» это мягко сказано). Он дает возможность взять все забесплатно и не иметь никакой ответственности за свои проекты. Он рассказывает сказки о разработанных за 0 рублей программах в неоплачиваемых коллективах, но на деле все взлетевшие проекты — коммерческие в той или иной степени.
Опенсорс должен умереть) И на пепелище появятся нормальные коллективы оплачиваемых кодеров и бесплатные энтузиасты-одиночки, которые своим полезным и качественным ПО обойдут других таких же, но менее качественных конкурентов, будут обсуждать и сравнивать возможности и удобство использовать ПО, придумывать новые функции, пытаясь создать все более совершенные продукты с разнообразной функциональностью и совершенно различными интерфейсами.
Но конечно он не умрет. Бизнесу выгодно вешать лапшу на уши что это классно «написать что-то забесплатно и выложить для всех». Потому что он этим и пользуется. Не нужно нанимать людей и писать с нуля. Берешь готовое и вперед. Открытый код, выложенный для всех, невозможно защитить никакой «лицензией». И наверняка, уж если есть обфускация, то есть и перетасовщики исходного кода до степени, когда никто не узнает откуда он для спокойной его кражи. А если защиты нет — я не собираюсь никому помогать (особенно если все всплывшее в результате конкуренции там наверху — это в итоге только коммерческое, а приставка «бесплатный бесплатно-разрабатываемый опенсорс» — чистое заманилово).
Я продолжу писать проприетарное, но качественное и отлаживаемое мною лично. Кто-то будет пользоваться этими результатами вместе со мной, кто-то будет пользоваться более привычными ему прогами, кто-то будет не пользоваться подобными прогами вообще (т.к. мало кто рисует, музыку пишет, мультфильмы делает или тайлы для 2D игр рисует), кто-то будет бурчать что все не так и надо в опенсорс переходить. И к фантастике о бесплатной массовой разработке я продолжу относиться скептически.
Вот кто-то пишет «я убиваю людей», вы ему «ах ты негодяй, что же ты делаешь?», а он такой «я не понял, что даёт право судить и оскорблять убийц, я ничем этого не заслужил, и моими трудами вы пользуетесь, я, например, могу убить тех, кто вам поднадоел и вы не хотите их больше видеть».
Или кто-то пишет «я опенсорсер, пишу забесплатно, верю что все вместе забесплатно напишут классный софт, не будут разбегаться, и все будет отличного качества, общее, бесплатное, общедоступное, и все должны мне по первому зову показывать свои исходники, ведь нет ничего своего, все общее и это великолепно». Вы ему «вот чудак, неужели ты не понимаешь что это фантастика и реальный мир отличается от этого, не могут так работать люди качественно и забесплатно, это будут те еще работники с тем еще опытом и той еще терпеливостью выполнения этого проекта (убегут и всё), одна группа может и сможет раз в вечность такое свершить когда звезды на небе сойдутся и случайно совпадет, что лидер хороший, кодеры замечательные, все вытерпели и 15 лет делали один и тот же продукт, мечтая вместе о прекрасном, а 99 других — нет, т.к. люди не идеальны, и пока туда им не вольют бабла, не наймут платных сотрудников, не поддержат из фондов — в большинстве случаев выйдет лебедь, рак и щука, и седой лидер, а потом все это попросту своруют потому что ты сам лично выложил все в открытую полностью». А он такой «ах вы меня оскорбили, я не такой, кто вам дал такое право». Слово «в большинстве» говорит что может вы и не такой и случайно затесались в опенсорсеры. Но большинство, по описанной логике, будут именно такими.
Конечно может это и ошибочный вывод. Но столько противников опенсорса с такими логичными и красивыми выводами (кстати совпадающими с моими) — это что-то значит. Это видно по обсуждениям опенсорса в инете. Ровно как и в этой теме. Они ругаются подобными умными словами типа «оо, я сразу распознал подмену тезисов, вы все перевернули, вам проплатили». Над ними откровенно ржут, расспрашивают подробности. Они снова пытаются вывернуться. Часто без аргументов, простыми словами «чушь, все это чушь» или словами «вон есть тот проект, вот он классный». Они не хотят смотреть все распределение классности по проектам, не хотят считать и думать сколько там процентов выплыло, и сколько сдохло. Не хотят подумать отчего это произошло.
Вера — такая штука, там не нужно логики, она там даже вредна, потому что будет конкурировать с устоявшимися точками зрения верующих.
| оскорбления, а логические выводы. У меня есть право
| делать логические выводы.
Вы в прошлом Школьник, в настоящем Алкоголик, а в будущем Бомж. :)
P.S. Такой вот у меня логический вывод. Даже без сравнения с Абрамовичем.
Как я и написал выше, и напишу еще раз — это не оскорбления, а логические выводы. У меня есть право делать логические выводы.
Нет у вас такого права. У вас есть право на личное мнение и больше ничего. Или у вас своя, особая, закрытая логика?
Или кто-то пишет «я опенсорсер, пишу забесплатно, верю что все вместе забесплатно напишут классный софт, не будут разбегаться, и все будет отличного качества, общее, бесплатное, общедоступное, и все должны мне по первому зову показывать свои исходники, ведь нет ничего своего, все общее и это великолепно». Вы ему «вот чудак, неужели ты не понимаешь что это фантастика и реальный мир отличается от этого, не могут так работать люди качественно и забесплатно, это будут те еще работники с тем еще опытом и той еще терпеливостью выполнения этого проекта (убегут и всё), одна группа может и сможет раз в вечность такое свершить когда звезды на небе сойдутся и случайно совпадет, что лидер хороший, кодеры замечательные, все вытерпели и 15 лет делали один и тот же продукт, мечтая вместе о прекрасном, а 99 других — нет, т.к. люди не идеальны, и пока туда им не вольют бабла, не наймут платных сотрудников, не поддержат из фондов — в большинстве случаев выйдет лебедь, рак и щука, и седой лидер, а потом все это попросту своруют потому что ты сам лично выложил все в открытую полностью». А он такой «ах вы меня оскорбили, я не такой, кто вам дал такое право». Слово «в большинстве» говорит что может вы и не такой и случайно затесались в опенсорсеры. Но большинство, по описанной логике, будут именно такими.
Вот вы говорите, что «ах, OS должен умереть, он не нужен. Нужны оплаченные команды программистов, которые будут творить шыдевры. Да, они будут творить не то, что они считают шыдеврами или там нужно людям. Они будут делать только то, что им прикажут делать топ-манагеры, которые знают, как впарить конечный продукт. И пальцем не пошевелят ни в каком ином случае. А по вечерам под одеялом с фонариком будут на форумах выкладывать свои программы и выспрашивать друг у друга, как и что в них работает. И пофиг, что внутри все на костылях и гвоздями прибито, топ-манагеру все равно, лишь бы красиво было и продажи перли. А если продажи упадут, всегда можно объявить принудительный апгрейд с доплатой стоимости. Это же мелочи. Зато сразу настанет идеальный мир и прочее благорастворение на воздусях.
Но столько противников опенсорса с такими логичными и красивыми выводами (кстати совпадающими с моими) — это что-то значит.
А уж сколько его сторонников… Вы их по головам считаете?
Ровно как и в этой теме. Они ругаются подобными умными словами типа «оо, я сразу распознал подмену тезисов, вы все перевернули, вам проплатили». Над ними откровенно ржут, расспрашивают подробности. Они снова пытаются вывернуться. Часто без аргументов, простыми словами «чушь, все это чушь» или словами «вон есть тот проект, вот он классный». Они не хотят смотреть все распределение классности по проектам, не хотят считать и думать сколько там процентов выплыло, и сколько сдохло. Не хотят подумать отчего это произошло.
Да ведь именно это вам и говорили. И сколько проприетарного ПО исчезло (на порядки больше, чем OS, если что), и подробности и вообще все. А где ваши аргументы? Ну кроме „усе сваруют, копирайты потрут, бисплатно только лохи работают“ и прочие глупости?
OS не не нужен. Его не существует. Существует коммерческий «бесплатный OS». Настоящий бесплатный OS — это фантастика, т.к. получающийся бесплатный софт — это мусорное ПО без качества и ответственности, построенный на плагиате чужого под «лицензией». Поэтому «нужен или не нужен мусор» — кому-то нужен (бомжи, например, любят в мусоре порыться), но это не та планка качества, к которой следует стремиться адекватному программисту.
Насчет «сколько сторонников» Марк Тэрвер написал:
так как количество потребителей существенно превосходит количество разработчиков и инноваторов, суммарные децибелы от криков адептов СПО заглушают любые противоположные мнения.
Людей, которые действительно создают, гораздо меньше, чем плагиаторов-потребителей (опенсорсеров), переливающих один и тот же код из пустого в порожнее, любящих халявный исходный код, отсутствие ответственности за написанные бесплатным «коллективом» форки чужого софта. Поэтому сторонников опенсорса гораздо больше, чем противников. Если вас это интересовало.
Насчет аргументов — почитайте еще раз мои ответы. Хотя, в принципе, я свел многие источники сюда blackstrip.ru/phpBB2/viewtopic.php?f=3&t=768, по мере поиска буду добавлять другие источники.
А я обычно по форумам шарюсь, там везде код разнообразного качества. Но мне нужен обычно пример работы с какой-нибудь конкретной функцией, нашел ее, пару строк скопипастил для проверки себе, остальное пропустил мимо вообще.
Я уважаю чужой труд… но винда лицензионная в окне «О программе», есть не просит, не ругается, все возможности открыты. Если майкрософт деактивирует лицензию за нарушения очередной лицензии еула-уюла, куплю другой код за 100 рублей и активирую его взамен старого. Мне это нетрудно… на воображаемые лицензии все кроме фанатиков-опенсорсеров кладут хрен.
ну к лицензионным соглашениям я отношусь также как к лицензиям) промотать и принять
Берешь три плохих, тестишь по очереди, соединяешь кусок оттуда, кусок отсюда, тестишь, провал, соединяешь кусок отсюда, кусок оттуда, тестишь, успех — вуаля, получаешь один, но свой и хороший
А брать готовые исходники из сети и класть хрен на воображаемые «лицензии» — это я могу с легкостью.
Я и лицензии не понимаю. Что мешает стереть все упоминания из кода и просто украсть его?
Паранойя, говорите, разыгралась? Ну-ну…
без качества и ответственности, построенный на плагиате чужого под «лицензией»Не соглашусь с вами. Не обязательно OpenSource — результат форка. OpenSource вполне может быть написан с нуля, и даже одним человеком.
Строго говоря, OpenSource — это код, выложенный в открытый доступ автором добровольно (обычно под какой-то лицензией на изучение, использование и модификацию).
OpenSource проект может быть pet-проектом, я один из своих проектов распространял специально вместе с кодом, чтобы люди могли его улучшить и расширить, если им будет нужно (проект впрочем был на Java, и там в любом случае очень трудно закрыть исходники без возможности декомпиляции).
Иными словами:
1. Не весь OpenSource делается командой (хотя процентах в 95-99 случаях это так, соглашусь).
2. Не весь OpenSource — форк более раннего проекта (и вот тут процент уже другой, я думаю, форков сильно меньше половины от общего числа проектов)
3. OpenSource может оплачиваться пожертвованиями, фондами и компаниями, как вы правильно заметили, и он от этого не перестаёт быть OpenSource-ом. Таким образом, не обязательно OpenSource ПО — бесплатное. Оно может даже продаваться за деньги для конечного пользователя, хоть это и более редкий случай, ибо в самом деле не так просто защититься от незаконного использования путём перекомпиляции.
4. Наоборот, бесплатное ПО вполне себе может быть с закрытым кодом. То есть связи между открытостью кода и бесплатностью программы — в теории минимум.
Потому что он этим и пользуется. Не нужно нанимать людей и писать с нуля. Берешь готовое и вперед.Вы сами себе противоречите. Только выше вы утверждали, что любой успешный OpenSource проект спонсируется крупными компаниями (отчасти это так, в той же команде разработчиков Chromium много сотрудников Google, которые за свою работу получают зарплату). Но тут же чуть ниже говорите, что в случае OS платить компании ничего не нужно. Вы разве не видите противоречия?
У меня нет желания выслушивать от вас оскорбления и указания. Я не собираюсь исправлять ошибки вашего воспитания. Перестанете хамить, вылечите вашу паранойю или хотя купируете обострение — тогда можем продолжить.
Такие люди на хабре не нужны. Да и в жизни, признаться, тоже.
двуличность и двойные стандартыВы про то, что автор пользуется ломаной виндой? Я кроме этого честно говоря явной двуличности не нашёл, хотя передёргиваний много.
Винда ломаная и откровенная гордость за это; натыривание кода из форумов и опенсурса по принципу "отсюда кусочек, отсюда кусочек, оп — и готова функция рабочая и уже своя" с последующей игрой ноктюрна очком на тему что-де "вот сидят такие и требуют с меня исходников, того и гляди хотят украсть что-то!"; до кучи общая хамовитость и приравнивание совершенно случайных групп лиц к "школьникам-алкашам-наркоманам от мира проституции" — и это я ещё тред только по диагонали пролистал.
Напоминает мне одного знакомого деда, который по сей день пишет на шестом паскале ибо "не было этих ваших классов, нехай и начинать", раздаёт всем подряд исходники лично в руки со словами "только больше никому не давай", а когда кто-то внезапно с нуля отреверсит то же самое, начинает полоскать всем мозги на тему того, что кто-то крадёт его работу.
Только вот у того деда и послужной список с куда более уникальными и нишевыми вещами, чем парсер HTML и графредактор, которому не дают покоя лавры Nero (тоже был такой, резак CD с функцией среды разработки музыки), и до полива других дерьмом он не скатывается — максимум скажет "я так не хочу делать", "мне это не интересно" — и всё на том.
И да, свой код никому не отдам)
А обучение программиста вроде никак и не может еще происходить, кроме как на прочтении чужого кода (в книжках или на форумах) и пробовании «как он работает». Причем в 99% это не код каких-то готовых больших модулей, а код простой функции или вообще пара строк на вызов чего-нибудь из API и обработку результатов. Типа вот таких статей www.delphisources.ru/pages/faq/base/inet_dial.html или примеров из системы помощи.
Я плагиат не уважаю, а опенсорс и есть сплошной плагиат с оправданием «а мне автор разрешил в воображаемой лицензии». Если б так люди научные статьи писали — взял чужую статью, скопировал целиком, дописал две строки и в журнал отправил. Тебе отвечает рецензент «ты идиот штоле, уже такая статья была N лет назад». А ты такой «а я ее форкнул, мне автор разрешил в своей лицензии, публикуйте живо, это ответвление от той статьи с моими новыми двумя строками». В научном мире такое не прокатывает, там скажут «ссылочку просто дай на чужую статью», и когда дашь — останутся только твои личные две строчки. И тебе резонно ответят «две строчки — это не статья, а порнография, твой личный вклад равен нулю, давай досвиданья».
А у ленивых опенсорсеров — такая система работает плагиата отлично. Поэтому я гоню их и насмехаюсь над ними. Не могу сдержаться когда видя готовый продукт спрашивают «где же исходники?». Ажтрисёт) халявщики
Вот еще классный коммент про опенсорс habr.com/ru/post/240041/#comment_8058001 — прям с каждым словом на 100%.
Мое мнение кому-то может показаться радикальным, но тем не менее, оно такое: комьюнити неспособно родить сложный И качественный продукт. Краудсорсинг на это не способен принципиально. Да, он может нагенерить сотни тысяч строк кода, которые даже будут вроде бы работать — но удобного, эффективного и приятного в повседневном использовании продукта не будет.
Успех имеют только продукты, имеющие архтектуру, изученные юзеркейсы, хорошо спроектированные интерфейсы, отточенный дизайн. И хороший продукт-менеджмент. В опен-сорсе таковыми могут быть изделия двух категорий:
1. Софт, разрабатываемый по коммерческой модели. Он может быть трижды бесплатным и открытым, но он все равно коммерческий. Примеры: Firefox, Chrome, продукты MapBox и т.п.
2. Небольшие программки, разрабатываемые талантливым одиночкой (или небольшой сплоченной командой с ярким лидером), для которого его работа — как любимый ребенок. И у него хватает сил и мотивации отточить свой продукт до совершенства.
В иных случаях комьюнити это что-то аморфное и слабо управляемое. И результат вроде как и есть, но пользоватья им (если ты не гик-комсомолец, которому интереснее в гамаке и стоя) невозможно (например, GIMP). Разумеется, везде можно найти свои исключения, но в объем и целом картина такая.
Я стремлюсь ко второму варианту, но в соло-варианте, не хочу глупо слить наработки в сеть, а потом разбирать школокод (если он вообще будет приходить) вместо упорной работы над проектами.
Ну в таком случае не ломаная, а краденая, суть не сильно меняется. Нужно курить EULA в деталях, но последний раз ОЕМки покупал во времена седьмой винды, и там было прописано, что её можно покупать только с железом (отдельно диск продавать в магазине отказались, только одним чеком с горой комплектухи), техподдержку оказывает тот, кто это железо собрал и установил и поставил конечному клиенту, т.е. просто так купить ОЕМ и воткнуть себе на уже собранный кем-то комп — нарушение лицензии.
То, что ваш сосед забил квартиру золотыми слитками, а дверь поставить забыл — не означает, что вы можете себе забрать пару штучек, ибо "ну он же не препятствует и не блокирует".
Про опенсурс дискуссию продолжать смысла не вижу, ибо вы и так уже показали свою полную несостоятельность, ангажированность и неуравновешенность в этом аспекте.
То, что софтины вроде GIMP-а напоминают в плане UI попытку скушать какашку со стопы, параллельно делая сальто со стола — проблема, внезапно, не опенсурса, а того, что инженеры и нормальный UI пересекаются вообще очень редко, любая программа для радиолюбителей тому в пример — может быть радиоинженеры они отменные и расчёты в программе все правильные, но интерфейс выглядит просто как будто кто-то кнопками на форму проблевался.
Взять, например, MultiPSK, собранный по вашей любимой парадигме "сделаю бесплатно оказывается, за такое ещё и деньги просят, но сам"
… которая, внезапно оказывается, не является гарантией удобства пользования.
Ну и, например, мне, как пользователю фотошопа, Krita и SAI со стажем, что GIMP, что ваш PaintCAD кажутся одинаковым соитием вприсядку в гамаке, только цвет гамака отличается :-)
пишет на шестом паскале ибо «не было этих ваших классов, нехай и начинать»
Так в шестом ТП как раз объекты уже были (и вообще еще в 5.5 появились).
Точно я не помню, просто когда он пришёл разлочивать одну весьма дорогую установку, и первым делом вставил туда загрузочную дискету с ДОС 5 и минимальным паскалем — это весьма порадовало :-)
Собственно, почему бы и нет, писать напрямую в порты оттуда проще.
Но суть в том, что на любые намёки на ООП и объекты он начинает высказывать своё "фу" и всё вот это вот
Ну это если все ясно по документации.Документации на что? Максимум что нужно, так это знание в каком классе/файле лежит требуемый код, либо же с какими аргументами вызвать метод.
А когда не ясно — начинаешь искать примерыПримеры помогут только в случае знакомства с api. Для правки существующего кода примеры не годятся.
Но непонятно, зачем вы пользуетесь софтом, написанным группами школьников, который к тому же считаете некачественным, да ещё, о ужас, изучаете его и встраиваете его у себя(!). Это что, такая ментальная копрофилия? Или может быть дело в том, что ваш код ещё хуже (а это — факт), чем у этих школьников (и это, к слову, объясняет ваше нежелание его выкладывать, в отличии от ваших доводов).
Первая группа школьников пишет отстойный софт и выкладывает открытым. Вторая группа школьников пишет тоже плохой софт и выкладывает открытым. С третьей по девятую тоже пишут плохой софт и выкладывают его открытым. А десятая группа хороших опытных специалистов пишет хороший софт и выкладывает его.
Вот софт от десятой группы я использую (форум phpbb). Ничего так написали, честь им и хвала что умеют писать и дают использовать всем подряд. Аналогично как и использую бесплатные проприетарные программы с закрытым исходным кодом, тоже честь им и хвала. Но как бы хорошо не писала десятая группа — остальные девять это плохой софт.
И когда мне говорят «посмотри на них, они же выкладывают, выкладывай тоже» — я, мягко говоря, удивлен. Их методы написания софта можно назвать «лебедь, рак и щука», как будто википедию пишут, один пишет, второй стирает, третий с угла дописывает, четвертый следит за этим кое-как и пытается управлять/принимать/отклонять/читать и понимать их писульки, в итоге из проекта с большинством плохих разношерстных программеров на выходе выйдет так себе код.
Я даже не собираюсь ходить по вашим ссылкам.Там у него два раза перепощеннная заметка ЛЛео "За что я ненавижу Линукс" 2008 года про плохую Убунту.
Ответ там был: «А планшет мой с UEFI и всякими устройствами, на который и XP трудно поставить, и драйвера для которых не найдешь в XP потом. Если бы все просто так было.»
Раз уж пошла такая пьянка, стоит упомянуть J2ME-браузер Minuet. Очень похож на сабж, тоже грузит только HTML и в один столбик.
Ещё могу порекомендовать автору NetSurf. Он не настолько аскетичный (стили поддерживает), но явно легче движка от IE, если сабжа для чего-то не хватит. Dillo рекомендовать не буду, он, похоже, так толком на винду и не портирован.
del. Только у меня Хабра под Хабраэффектом уже часа три?
del. Habr лаг
Только проблема в том, что это «ресурс» начинает сам есть, как тот сайт в исходном, не подчищенном виде. Получается дилемма: либо сайту скормить последние мегабайты ОЗУ, либо сайту скормить те крошки, которые остаются при работающем блокировщике (это я, конечно, утрирую).
Вы переизобрели Opera Mini и Puffin? :D Для аскетов ещё brow.sh есть.
Так вышло, что 2 месяца назад я закончил и выложил на JSFiddle свою программу для просмотра записей любой открытой группы ВКонтакте. Загружается быстро, тормозит только при загрузке фоток, но самое интересное — у меня тоже вложения открываются отдельно от стены записей, сначала виден чисто текст и ссылки. Пишу не на Дельфи, но работает она на всех Windows, начиная с XP.
В чем вообще смысл статьи если нет исходников? Думать что кто-то может украсть данный код я даже не представляю, как вообще такое в голову может придти?
На самом деле думаю настоящая причина того что кода нет в том, что он написан плохо и его страшно выкладывать(сужу по отрывку кода в комментариях выше без оформления и табуляции).
Вообще когда делаешь то, что собираешься выложить на всеобщее обозрение, обычно в такие моменты получается самый чистый и качественный код. Поэтому все выпады автора в сторону Open Source мне непонятны. Вы точно работаете в программировании?
Стыдно бывает когда выкладываешь периодически что-нибудь и пытаешься совершенствовать написание исходников чтобы другим они были все более понятны, прозрачны и удобны для прочтения, и думаешь «о, мой уровень пока еще низок по сравнению с Васей Опенсорсовым, не буду выкладывать». Я же за исключением пары-тройки небольших алгоритмов никаких исходников никогда не выкладывал, только наоборот чужие изучал, переписывал, правил и т.п.
Поэтому у меня даже мысли такой не было «бояться что код плохой», потому что код другим простым смертным по умолчанию недоступен. Ну и я вообще не понимаю на кой хрен везде раздавать свой код, это глупо (имхо), это собственные наработки, которые войдут в последующие проекты, особенно ценны они только для самого создателя, т.к. это результат его долгого и упорного развития, обучения работы с различными устройствами, приемов работы с компонентами, приемов оптимизации отрисовки по скорости и т.д., и т.п.
И никто не говорил что я работаю в программировании. Наоборот уже в десяти местах в комментах к этому посту написано что я там не работаю, а это просто хобби)
Я уверен, что я не один такой, кто прочитал статью и в чьей голове возникла пара-тройка идей по расширению функционала и хватает знаний и умений для их воплощений. Неплохая возможность позволить комьюнити создавать кучи плагинов и аддонов на все случаи жизни. Но это ваше право — не выкладывать исходники, хотя мотивация весьма странная и противоречивая.
Чего тут непонятного?
Это вы похоже не понимаете. В статьях типа "смотрите какую клевую штуку я сделал" хорошим тоном считается предоставление исходников. Насколько я знаю, на Хабре так было всегда. Причины есть разные, от любопытства до доказательства отстустсвия вредоносного кода, но дело не в этом, а в том что это вы делаете необщепринятые вещи, поэтому не надо удивляться и обвинять других. Сказали, что не выложите, объяснили причины, и всё, не надо учить других. Аналогов вашей "халявы" полно.
К слову о вредоносном коде, на virustotal на вашу программу один антивирус ругается, а на распакованную UPX аж четыре. Может вы на самом деле неплохо умеете пользоваться JMP-ами, просто скрываете? Без исходников это не проверить.
На UPX всегда антивирусы ругались, хотя он и с открытым исходным кодом, но антивирусы никак не допилят чтобы они upx-а не боялись. Поэтому, на многие мои проги ругаются всякие эвристики (а я все UPX-ом пакую, мой любимый запаковщик исполняемых файлов).
«Считается», «было всегда» — только ничем не подкрепленные слова.
Так, и чем же, интересно, их надо подкреплять и в какой форме? Уж не в виде ли количества аналогичных статей на Хабре с открытыми и закрытыми исходниками? Ну так открывайте главную и проверяйте, я же не могу привести все такие статьи за все время существования Хабра в комментарии.
Второе предложение вообще начинается со слов "насколько я знаю". Это по определению не достоверный факт, а описание известной информации. Почему я должен вам свои знания подтверждать? А еще про завышенное ЧСВ других пишете.
На UPX всегда антивирусы ругались
"а на распакованную UPX аж четыре". После распаковки, на нормальный чистый экзешник.
Но вопрос не в этом, а в том, что на слово вам никто не должен верить. Ни вам, ни кому-то еще. И исходники позволяют подтвердить, что в программе нет никаких вирусов. Это одна из причин, почему их ожидают увидеть.
Да, есть такая вероятность.
У меня на чистый незапакованный exe-шник никто не ругается. А после запаковки UPX многие антивирусы могут ругаться, я тоже на virustotal гонял этот сжатый UPX-ом браузер несколько месяцев назад и удивлялся какого хрена в нем что-то видят некоторые антивирусы, причем каждый антивирус (из ложно сработавших пары-тройки антивирусов) видит там вирусы с разными названиями. Одному одно показалось, второму второе, третьему третье.
Поэтому браузеру даже с открытыми исходниками нельзя верить (вдруг в исходниках будет чистый код, а в exe-шнике — такой же, но с добавленными вирусами, а собирать самому будет лень)
Именно поэтому официальные exe очень часто подписаны сертификатом, да еще и отдельно хэш проверяется.
Поэтому только слежение за трафиком во время работы браузера
Сначала запустить подозрительную программу, а потом проверять наличие в ней вирусов? Какой-то подозрительный совет от автора программы, на которую ругаются антивирусы.
а собирать самому будет лень
а также дизассемблирование проги с внимательным просмотром кода
Собирать значит по условиям лень, а дизассемблировать должно быть не лень? Для получения того же результата гораздо проще внимательно просмотреть исходники, скомпилировать и сравнить побайтово или по хешу. Вы же сами там выше доказывали, что с исходниками все проще, для любых целей.
У меня на чистый незапакованный exe-шник никто не ругается.
"Там вирусов нет, честно-честно". Ссылку на virustotal, пожалуйста, с анализом вашего exe-шника.
С исходниками легче в эвент на определенную функцию/кнопку гадость дописать. А целиком исходники анализировать — тоже может быть трудно. Я предполагал, что гадости искать — это анализировать активность и смотреть что прога шлет и куда, а не разобраться полностью с ее исходным кодом.
Вот ссылка на вирустотал, проанализировавший незапакованный justcode.exe:
www.virustotal.com/gui/file/2ac27ca1a2a05e761e42c60e741f3e97dd73252d125c98e65917d86258d86040/detection
Ну ее можно запустить в какой-нибудь эмулированной песочнице
Можно. Только зачем? Проще взять другую программу с такой же функцинальностью, у которой есть исходники.
Я предполагал, что гадости искать — это анализировать активность и смотреть что прога шлет и куда
Она может ничего никуда не слать, а молча шифровать все доступные для записи файлы. Она может проверять наличие отладчика, песочницы и других анализаторов, и при обнаружении ничего никуда не слать. Она может что-то слать только раз в месяц. Есть куча вариантов, которые с вашим подходом не работают.
Вот ссылка на вирустотал, проанализировавший незапакованный justcode.exe
А что же хэш-то у файла другой?) Если скачать файл jc.zip, который вы привели в статье, и распаковать последней версией UPX, то хэш вот такой. Что-то вы темните, предлагаете скачать один файл, а проверяете другой.
UPX кстати тоже с открытым кодом. Что ж вы им пользуетесь, выгоду получаете, увеличиваете число скачиваний а значит популярность, если негативно к этому относитесь.
А насчет хэша: видимо после запаковки и последующей распаковки что-то в EXE чутка меняется. Я брал исходный exe сразу после сборки в дельфи, а не после распаковки упакованного exe.
Зачем-зачем. Чтобы понять как себя ведет конкретная прога если есть опасения.
Прочитайте следующее предложение. Чтобы это понять, есть способ проще. И как я уже сказал, в большинстве случаев ваш способ не работает.
Но этот вариант, конечно, не для тех кто требует от винды, ворда, экселя и игр на плейстейшене 4 исходники
А вы разве владеете официальной организацией уровня МС или производителей игр? Если нет, тогда не надо их приводить в пример. По экономическим и юридическим причинам к ним больше доверия, чем к вам.
Я брал исходный exe сразу после сборки в дельфи, а не после распаковки упакованного exe
А какая разница, что брали вы? Вы предлагаете другим скачать другой файл.
А насчет UPX: я предлагаю всем скачать запакованный UPX-ом файл. Его false-detectят пара антивирусов из 60 в вирустотале. Эта ситуация с запаковщиком UPX известна www.google.com/search?q=upx+false+detect
По вашей просьбе был просканирован незапакованный exe и вирусов в нем найдено не было.
Эта ситуация с запаковщиком UPX известна
И вы могли ей воспользоваться, чтобы замаскировать присутствие вредоносного кода.
По вашей просьбе был просканирован незапакованный exe
Ну а что вам мешает скомпилировать без вредоносного кода и проанализировать результат? Моя просьба была о том, чтобы вы анализировали тот файл, который предлагаете скачивать.
Это вы так говорите. А доказательств этому нет. Может это false-detect, а может сигнатура вируса еще не всеми антивирусами определяется.
если бы я захотел — вписал бы в исходники все что мне нужно, антивирусы вообще бы не распознавали ничего плохого, это было бы как обычная работа проги, вот она скачивает код сайта, а вот после этого отправляет чужие пароли мне лично) но я не хочу портить свою репутацию и не делаю подобных вещей
если бы был реальный вирус/другой вредонос — он бы распознавался бы не в 2, а в 22 антивирусах. Вы можете отправить файл на анализ в любую антивирусную компанию, например, аваст любит забирать файлы на проверку, и убедиться что файл чист как стеклышко
если бы был реальный вирус/другой вредонос — он бы распознавался бы не в 2, а в 22 антивирусах
Это неправильная логика. Если бы это было так, новые вирусы бы не появлялись.
Вы можете отправить файл на анализ в любую антивирусную компанию
Зачем мне или кому-то другому с этим заморачиваться? Люди просто не будут использовать вашу программу, да и всё. В комментах выше много разных альтернатив написали.
Все уже так именно и сделано.
А думать о пользователях как о неумехах — это расширять количество пользователей, которые юзают продукт. Это же хорошо, настоящие неумехи тоже смогут им пользоваться наравне с умехами)
Мне кажется проделана достаточно интересная работа, по крайней мере, самому автору было интересно этим заниматься и это заметно.
На счёт практической ценности — кто знает. У меня тоже есть хреновый планшет на восьмёрке. Может пригодится.
Но мне, все же, не очень близок такой подход. Я, вот, очень люблю современный read view, который во всех браузерах есть. Хотел даже расширение сделать, чтоб только в нем сайты открывались, но, как выяснилось, не выйдет сразу открыть ссылку в rv, сначала полностью грузится страница, а потом она парсится в rv. А жаль
Кстати, всё-таки файл подкачки нужен. Я тоже сидел месяц с выключенным, Хром так и вылетал (синий экран был), аж три репорта за 2 месяца вышло.
Otter.
в чем заключается причина «прожорливости» браузера?Динамичность. Любые страницы сложнее статики нельзя просто взять и отрендерить в один присест. Надо держать в памяти DOM, надо выполнять скрипты, надо перерендеривать на каждый чих страницу, даже на декларативные CSS-анимации безо всяких скриптов, а ещё переупорядочивать элементы, когда что-то от таких динамических изменений разъехалось. А ещё есть такая «замечательная» фича, как contenteditable, благодаря которой браузеры ещё и редакторами Rich Text быть обязаны, как Word. В современных браузерах ещё и изоляция усиливается, чтобы с важных вкладок типа онлайн-банкинга ничего не упёрли. Всё это отнюдь не способствует низкому ресурсопотреблению.
(т.е. играть то же видео через vlc, например)На заре веба так и делали — сами браузеры видео играть не умели, оно вставлялось на страницы тегом <object> или <embed>, и воспроизводилось плагином, подключаемым через ActiveX или NPAPI. Такие плагины есть у VLC, у QuickTime, даже у Windows Media Player. Но у такого подхода есть фатальный недостаток — сайт со своей стороны не может взаимодействовать с плеером, и уж тем более не может его кастомизировать. Поэтому в 00-х обрели популярность плееры на Flash — они вставляются так же, но Flash-приложение имеет свой UI, и может взаимодействовать со скриптами сайта через атрибуты тега.
С появлением стандарта HTML5 в браузерах появилась поддержка воспроизведения видео без плагинов — через отдельный тег <video>. Делают они это, конечно, не сами, и скрипты тут ни при чём — видео воспроизводится через существующие кодеки и медиабиблиотеки, системные либо поставляемые с браузером. Но скрипты, опять-таки, могут гибко взаимодействовать с HTML5-видео, благодаря чему можно делать кастомные плееры — а можно не делать. К сожалению, по сравнению с плагинами плееров, в HTML5-видео набор поддерживаемых форматов и кодеков очень ограничен, ради переносимости. Играть что угодно через тег <video> умеет только Safari для macOS, потому что использует «под капотом» всё тот же универсальный QuickTime.
Мною сделана страничка с демонстрацией разных способов встраивания. Открывать желательно в чём-то не очень новом и в то же время не очень старом, типа Opera 12 или Pale Moon, чтобы поддерживались все способы. Ибо технология плагинов объявлена устаревшей и в современных браузерах их поддержка выкидывается.
А вот от кучи жаваскриптовщины нам, видимо, никак не получится избавится. Все навороты браузера встроенные, все загружаются при запуске, обрабатываются зачем-то. И потом ещё сайты с их 20-30 скриптами.
Думаю, это программисты С++ и C# в веб ушли, пишут там как могут. Знаю, что есть транспилятор/транспайлер Babel, который упрощает код, переводя кучу синтаксического сахара и вызывающих друг друга функций и более простую для JS-движка кучу. Но вряд ли все компании им пользуются, раз эту кучу скриптов никто не хочет переделывать.
т.е. у нас есть возможность оптимизировать выполнение скриптовВы всерьёз полагаете, что браузеры этого ещё не делают? ;-) Все последние лет 10 — постоянное вылизывание производительности браузеров, в том числе JS-движков. Но и этого мало. Попробуйте запустить какой-нибудь современный прожорливый сайт в IE8 (из тех, которые его вообще поддерживают ещё) — разница с современными движками налицо будет.
агрегировать запросыПривет HTTP/2 и GraphQL.
подменить на локальные программы/библиотекиБессмысленно, веб живёт «в своём мире». Более того — лишние нативные вызовы только ухудшат производительность.
скомпилировать под платформуJIT именно это и делает. А то и кэширует. Chromium-based-браузеры, например, создают целую папочку «Code Cache».
или перевести представление страницы в другоеВышеупомянутые Opera Mini и brow.sh так и делают. Но у этого подхода есть недостаток — представление и реальные web-технологии неизбежно будут различаться, где-то не состыковываться, где-то устаревать, где-то просто не покрывать все возможности из-за ограничений представления. И все сайты работать не будут.
В качестве примера — старый вордовый формат doc. Он ужасен, но по сравнении с docx требует меньше ресурсов на обработкуЯ далеко не первый раз встречаю подобное мнение от кодеров «старой закалки», имеющих очень смутное представление о современном вебе. Грозятся: «ух-х-х, макаки грёбаные, не могут плейнтекст быстро пропарсить, вот я сейчас крутой SAX-парсер сделаю, всё летать будет!.. да вот только времени нету». Сабж наглядно демонстрирует, что получится, когда угрозы перейдут к практике ;-)
Более того — лишние нативные вызовы только ухудшат производительность.Вот я готов аналог Unreal Engine в браузере таскать, если это позволит агрегировать системные вызовы.
или перевести представление страницы в другое
вот я сейчас крутой SAX-парсер сделаю, всё летать будет!.Я про представление другое спрашиваю: уже понятно, что DOM с кучей динамичных элементов и стилей не получается быстро разобрать. Почему, раз его спарсив, не пересохранить и кэшировать в другом формате, который парсится быстрее?
Я не считаю себя самым умным, просто хочу разобраться. Вот я не очень плохо программирую под микроконтроллеры, читал и осознал «Книгу мага», понимаю принципы llvm, помню характеристики и возможности компьютеров в 90х — а вот почему на одном и том же компе я могу без лагов играть в трёх-четырёхлетнюю RTS, но не могу комфортно пользоваться средним интернет-магазином уже не понимаю. Кажется, что хотя многие задачи уже решили, но почему-то решили заново прыгнуть на старые грабли.
DOM с кучей динамичных элементов… быстро разобрать
пересохранить и кэшировать в другом формате, который парсится быстрееТы мне сейчас напомнил про разреженные массивы. Ведь и вправду все эти стили и DOM-ы можно держать в сжатом формате, если выкинуть все константы и неменяющиеся переменные (точнее, наоборот: хранить массив с нужными значениями и их названиями).
Только странно, что это ещё никто не реализовал. Ну или мы не замечаем.
заново прыгнуть на старые граблиМне почему-то кажется, что эти прыжки на грабли — часть маркетинговой стратегии всех корпораций. Они ждут пару годков, а потом заявляют: «Вот, мы разработали новые грабли, которые при прыжке бьют на целых 20% слабее». А пользователи, которые побогаче, начинают радостно махать кошельками и скупать новые грабли :)
если выкинуть все константы и неменяющиеся переменныеВо, уже Virtual DOM переизобрели. Что ещё переизобретёте? :3
Что ещё переизобретёте? :3Вы так говорите, будто это что-то плохое. Проведем небольшой мозговой штурм, на хабре много мозговых штурмовиков, бомбардировщиков и истребителей, вдруг что-то новое родим.
Virtual/shadow DOM хорошие технологии, но, опять же, их должен использовать веб-программист.
Есть ЯП, которые не требуют знания собственно программирования свыше самоучителя, только предметной области: MATLAB, COBOL, Fortran, LabView, Maple, WolframAlpha… Т.е. знание программирования ускоряет скорость исполнения и снижает потребление ресурсов, но не всегда — там под капотом мощный оптимизатор. В С/С++ можно не учитывать архитектуру памяти и работать с плоской моделью, компилятор разберётся и ещё с оптимизациями поможет. Большинство сайтов делаются торопливо, небрежно и «шоб бохато», может, стоит легализовать такой подход ценой усложнения браузера? Да, код написанный и код исполняемый будут совсем непохожи друг на друга, но разве это важно, если тесты проходят? Я вот тоже плохо узнаю свой код после -О3.
Virtual/shadow DOM хорошие технологии, но, опять же, их должен использовать веб-программистОтнюдь, подобные техники применяются и в движках. V8, например, кэширует доступ к частоиспользуемым свойствам объектов.
может, стоит легализовать такой подход ценой усложнения браузера?Он давно легализирован. И как раз в этом и проблема. Владельцы наколеночных сайтов не заинтересованы в производительности (более того, у продаванов существуют поверия, что слишком быстрый отклик выглядит для пользователя подозрительным, поэтому в запущенных случаях задержки вставляются искусственно). Они заинтересованы напихать побольше дерьма для повышения дохода, а производительность является лишь сдерживающим фактором, чтобы не напихать его ещё больше. Метрики измерения человеко-машинных интерфейсов привязаны к не зависящим от производительности факторам (количество кликов, время и т.д.) Пока это не изменится — вылизывать движки бессмысленно и даже вредно.
чего ж так хреново?)Слишком много легаси и неудачных решений, чтобы это всё хорошо работало для современных задач. Но это постепенно решается, потому как над совместимостью сейчас особо не парятся. Запросто могут ломать вещи, которые работали годами, типа вызова всплывающих окон или воспроизведения звука.
тот же GraphQL хорошая штука, но должен использоваться при создании сайтаИ тут мы приходим к другой проблеме — профессионально сделанных сайтов крайне мало. Большинство собрано тяп-ляп из готовых компонентов. В худшем случае — во всяких конструкторах или на готовых CMS.
Вот я готов аналог Unreal Engine в браузере таскатьВ IE через ActiveX можно было DLL-ки дёргать. В Firefox тоже, но только из аддонов (XPCOM). Но такой подход умер, ибо некроссплатформенно и дыряво. Браузерные API и так достаточно низкоуровневые, они не поверх того же интерпретатора крутятся, как в Emacs, например, а просто обёртки над нативным кодом. А в WebGL и вовсе настоящий GLSL используется, без обёрток, куда уж нативнее?
Почему, раз его спарсив, не пересохранить и кэшировать в другом формате, который парсится быстрее?А смысл кэшировать то, что постоянно меняется?
Кажется, что хотя многие задачи уже решили, но почему-то решили заново прыгнуть на старые граблиОтнюдь, просто с ростом производительности и возможностей растут и требования, так что софт в целом делает вроде бы всё то ж, что и лет 30 назад, а жрёт на порядки больше. Типичный интернет-магазин 90-х — каталог статики почти без интерактивности. Сейчас куда ни плюнь — навешано тонны дерьмища по принципу «у конкурентов так же — надо не отставать». О чём недавно была статья. Да в принципе, и лет 10 назад было так же, просто тогда всякие перделки делали на Flash, и прожорливость подобных сайтов решалась его отключением. А сейчас используются встроенные возможности браузеров, избирательно отключить которые уже не так просто.
Я про представление другое спрашиваю: уже понятно, что DOM с кучей динамичных элементов и стилей не получается быстро разобрать. Почему, раз его спарсив, не пересохранить и кэшировать в другом формате, который парсится быстрее?Не очень понял вашу идею. Веб-страница поменяется через пару часов (если это новостной сайт или интернет-магазин, там же больше половины инфы — динамическая, от комментариев и числа товаров на складе, до всяких новостей, акций и прочего). Будем перекэшировать каждый раз, а пока страница не устарела, брать копию из кэша? Устаревание можно определить по HTTP заголовкам, но не всегда (часто веб-сервер настроен так, что всегда отдаёт одно и то же, то есть любая загрузка помечается как чистая, оными словами, он не следит за тем, поменялось ли фактическое содержимое или нет, и сделано это намеренно, чтобы не добавлять на сервер дополнительную нагрузку, сервера больших порталов и так еле справляются с бизнес-логикой, ещё и GZIP сжатие перед отдачей оверхед добавляет). Но на самом деле, я не уверен, что это уже под капотом популярных браузеров не реализовано (в тех случаях, когда страница и правда отображается из дискового кэша, а это бывает часто, можете проверить сами в консоли разработчика).
Да, в теории можно считать хэш-функцию от всех стилей элемента и от кода всех его обработчиков, и хранить в кэше старое представление. Только вот кэш будет при таком подходе просто огромен, если его регулярно не очищать. По крайней мере он точно будет весить больше, чем он весит сейчас (сейчас хранятся только полные исходные JS коды и тексты HTML и CSS). Почему я так думаю? Потому что один блок стилей адресует сразу целое множество HTML-элементов, и один обработчик тоже может быть присвоен скольки угодно элементам. Тут понадобится какой-то алгоритм дедупликации как минимум. Плюс ещё не забываем, что код обработчиков завязан на код в глобальной области видимости (точнее, на все«статически» внешние scope-ы).
Но вряд ли все компании им пользуются, раз эту кучу скриптов никто не хочет переделыватьЕсли не пользоваться — скрипты как раз будут работать чуть быстрее, но перестанут работать в старых и маргинальных браузерах. Разницу в синтаксисе нельзя компенсировать полифиллами. На заре существования Babel он поддерживал транспилляцию «на лету», чтобы отдавать браузерам одинаковый код и транспиллировать только при надобности — но за маловостребованностью и сложностью поддержки этот режим выпилили.
Глаза вытекли, мозг завис — зачем делать свою поделку, которая заведомо хуже вылощенного тысячами глаз опенсорса?
Слабое железо? Unix же, среди кучи дистрибутивов что-то, да есть.
Just for
В минус, короче говоря.
Да и, собственно, не вижу хаба «Линукс» в моем посте. Линукс это для 1-2% людей на Земле (статистика это подтверждает). А Windows — для всех пользователей, кто хочет с удобством играть и работать за компутером.
Не все пользователи, которые хотят «с удобством играть и работать», хотят кушать кактус от единственного производителя, скрывающего алгоритмы работы своего кода и нашпиговывающего свою систему троянами. Да, из недовольных на линукс и другие альтернативы уходит всё равно меньшинство: кто-то недооценивает проблему, у кого-то банально нет информации, а кому-то выкручивают руки авторы прикладных программ и драйверов, делающих их только для Windows (да, таких с каждым годом всё меньше, но проблема остаётся).
"У меня есть убогий дешевый планшет" — поздравляю, сейчас у вас есть не только убогий планшет, но и "браузер", написанный убого.
blackstrip, ваши комментарии показывают следующую картину мира: опенсорс это когда все всё форкают, в коде чужом не разбираются, люди которые это делают на 90-99% дилетанты и школьники. Есть проект — человек пошёл, сфоркал его и дописал какую-нибудь функцию, да не сам дописал, а где-то скопировал. А потом пришёл следующий, тоже форкнул и тоже дописал путем кражи чужого кода )) Ну а если случилось так, что где-то представитель умного 1% написал что-то хорошее, то немедленно его код берут другие, опять же форкают, закрывают и начинают себе в удовольствие использовать в коммерческих целях.
Собственно, именно такой картиной мира вы подожгли множество задниц — потому что людей возмутила безапелляционность, с которой вы её отстаиваете, с учетом что она насквозь нелогичная, по-детски наивная и ложная целиком и полностью.
Давайте я расскажу вам, как выглядит мир опенсорса с другой точки зрения))
Чаще всего код открывают, когда он уже написан и «есть что показать». Весь опенсорсный софт начинается с уже готовой программы и её автора, часто в единственном лице. Человек создаёт репозиторий на гитхабе допустим, выкладывает программу, и продолжает её обновлять.
Если программа хоть сколько-то интересна другим людям, то они берут и пользуются. Не «воруют исходники и закрывают их» — в этом нет никакого смысла, о чем чуть позже. Когда у программы есть пользовательская база, люди начинают находить много багов. Если вы считаете, что вы пользуетесь своей программой и багов там не видите, а значит их нет — это воистину огромное самомнение. Десятки и сотни людей способны найти такие странные и неочевидные глюки, о которых вы даже не догадываетесь. И часто эти глюки, сами по себе незначительные, означают что код под капотом работает сильно не так, как задумано. Если вы хоть раз читали отчёты о разборе очередного большого проекта статическим анализатором, вы поймете что я имею в виду. Даже в очень крупных, качественных проектах встречаются куски с нерабочим кодом, и это может оставать незамеченным годами.
Часть людей молча мирится с багами, а часть — пишет багрепорты. И автору программы от этого польза №1 — ему сообщают о проблемах, которые он сам не нашёл. И качество программы растёт.
Если кому-то из пользователей оказывается критичным некий баг, а автор программы его исправлять почему-то не желает — человек лезет в код сам и начинает разбираться. И если он видит, что баг легко исправляется — он что делает? Форкает, закрывает код и начинает дальше сам его разрабатывать? Неверный ответ! Обычно ему это нахрен не упало, он пользователь, ему просто нужна программа без бага! Поэтому он пишет патч и отправляет в оригинальный репозиторий автору pull request. Важной частью вашей позиции против опенсорса было утверждение, что после открытия кода автор теряет над ним контроль. Ну так вот, это не так — именно он просматривает присылаемые ему правки, редактирует при необходимости и принимает в проект — или отклоняет совсем. Любой может форкнуть репу, но никто кроме автора изначальной программы не понимает её код настолько же хорошо и не привязан к ней настолько же сильно, чтобы активно работать над ней дальше. Нет никакого смысла форкнуть, внести одно изменение и потом смотреть, как автор оригинальной программы продолжил её развитие. И ещё и поддерживать совместимость со своими закрытыми правками. Это просто бессмысленно.
Главная ценность открытого проекта — его разработчик и автор, пока он продолжает развивать программу. И когда тебе нужны изменения в таком проекте — ты не воруешь чужой код и переделываешь, а отсылаешь правки автору. Если ты поступишь иначе — через некоторое время твой сворованный код устареет, кодовая база разойдется, и воровать новые изменения в неё будет всё сложней. И это касается и коммерческих организаций — им выгодней присылать правки и багрепорты в открытый проект под контролем автора программы, чем воровать код.
Отсюда идёт польза №2: если твой код хорош, люди и коммерческие организации начинают вкладывать силы и средства в разработку, присылая тебе правки. И если код действительно важен для организации, она может предложить тебе работать над своим проектом на зарплате. Это идея сильно расходится с вашей идеей «украсть открытый код и разрабатывать его дальше самому», не так ли?
Ну и напоследок — люди открывают свой код, потому что им приятно если им кто-то воспользуется. Польза №3 — удовольствие от осознания, что твоя работа кому-то нужна.
Поэтому ваше представление о толпе школьников-непрофессионалов — ложное. Опенсорс проекты отличаются не потерей контроля и качества, а намного большим вкладом сообщества в виде багрепортов и даже готового кода, который вы — как автор — можете принять в проект или отклонить.
Польза №3 — у меня тоже есть. Но это от удовольствия использования готового ПО, а не правок/использований кода кем-то там на стороне.
Код — промежуточный этап, по кускам — он никому кроме меня не нужен, целиком — нужен чтобы стырить («форкнуть») готовое ПО, что я считаю плагиатом и не хочу чтоб продукт расходился по рукам и дробился в сторонние, дублирующие продукты. Мой продукт на выходе — только исполняемый файл. Отзывы — только по результатам использования.
>второй алкаш какую-то невнятную наркоманию прислал
Богатый у вас опыт с такими случаями? Много было?
Бомжи не пишут код.
Алкаши пишут, но наркоманию вам в пуллреквест никто никогда не пришлёт, потому что уровень владения инструментами на этом этапе отсеивает дилетантов. Обычно пуллреквест делается после того, как человек сфоркал ваш репозиторий, в нём разработал полностью, с нуля, новую фичу. Убедился, что оригинальный реп не ушёл по версии вперед, если надо — синхронизировал, и только после этого формирует реквест. ЭТО ПРОСТО ГОРА РАБОТЫ, и работы не для среднего ума.
У вас снова какие-то странные фантазии, как будто среднего автора программы опенсорсной одолевают мусорными реквестами. Это точка зрения противоположна реальности и максимально далека от неё.
Чтобы не быть голословным…
Приведите примеры стыркнутого («форкнутого») ПО и кому это принесло значительный дивиденд. (может за этот счёт они выиграли какие то гранты)
P.S. Какой текущий процент скачивания Вашего почтибраузера после прочтения данной статьи? (задумайтесь над этим)
Где ещё его нужно пиарить, чтобы улучшить процент скачивания?
Сам, тоже скачал и забыл из-за предложенных лучших рабочих решений в обсуждениях к данной статье.
Браузер из моего поста написан как программа для чтения сайтов/файлов на слабых компах без скриптов и стилей. Это очень специфичная прога, т.к. она скорее всего никому не нужна и приведена в статье как пример «чо будет на экране если сделать парсер с настраиваемыми категориями вывода инфы — картинки, ссылки, комменты, скрипты, стили, мета и т.д.». Поэтому ожидать что все резко подорвутся и начнут ее повседневно использовать — не стоит. Я даже наоборот рекомендую пользоваться хромом если хочешь нормально посмотреть сайт (и сам им пользуюсь, т.к. он, вроде бы, самый совершенный и с самым большим процентом поддерживаемых стандартов на сегодняшний день).
Эта прога для «посмотреть какой контент будет без скриптов на разных сайтах (и насколько быстро можно его читать, не ожидая загрузки в лагучем браузере с уведомлениями)» и для «у меня слабый планшет и я тоже хочу быстро читать новости/форумы». Кто захочет попробовать — тот скачает. Попользуется, прикинет чего ему бы еще хотелось. А потом напишет свой браузер еще лучше этого моего парсера-сайториппера.
А вообще насчет гонки за количество скачиваний: есть простое правило (как я заметил за последние 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).
А я хочу, оттого это все и пишу. Если кто-то еще захочет — может воспользоваться моими наработками. А может и свои потом написать, вдохновившись такими занятиями. Все просто.
Из Пользы №2 следует, что вместо того чтобы самому писать качественно
Не вместо, а вместе. Это же к вопросу о том, почему у вас за 13 лет работы над проектом часть идей не реализована.
часть не была реализована и так и лежит в идеях
А почему она не была реализована?) Может времени не хватило? Раз лежит в идеях, значит не отброшено как ненужное.
Мой продукт на выходе — только исполняемый файл.
Лично вас никто не пытается уговорить начать выкладывать исходники. Вам объясняют, что ваше представление об опенсорсе неверное. Не ваши действия с вашим кодом, а ваше отношение к другим людям.
Мне кажется что Диме объяснять что-то бесполезно… На самом деле, у меня есть подозрение что он думает как-то так:
Я написал классную софтину для себя, ей пользуется полтора человека, если я открою код, кто-то ее чуть подправит и выкатит, и ей будет еще пользоваться полтора человека, а это уже 50% рынка
Глупо конечно все это…
Вот из ярких примеров можно привести gogs и gitea — сначала был опенсорсный gogs, но из-за чего то сообщество его решило форкнуть и появился gitea, такой же опенсорсный.
Оба продукта решают одну и ту же задачу, но во втором появились плюшки которые не захотели/не смогли запилить в первом. И ничего, оба проекта одинаково популярны, точнее, исходный проект популярнее, потому что плюшки из второго проекта большинству не нужны и они юзают "облегченную" версию.
Так же можно вспомнить вебкит который породил кучу браузеров, а потом стал blink.
ТС живет в своем мире, где все что закрыто — то хорошо, никто не упрет, не сворует, не выпустит под своим именем. Только не понимает одного — то что он написал, на самом деле никому не нужно, и этим будут пользоваться полтора человека, как я и писал выше.
Жаль такое видеть, ведь отчасти благодаря этому человеку я начал программировать и стал программистом (привет с ныне мертвого s-c.ru)...
Кратко: я написал софтины для себя, пользовался ими и искал единомышленников, которые тоже бы хотели бы проги со сходным функционалом, нашел их, они мне подсказали в каком направлении двигаться им бы хотелось. Многие желания были учтены, прога есть, пользоваться можно, мало того, я постоянно сам ею пользуюсь и никакие другие фотошопы не заменят мне мой «ассемблер для картинок»/«ассемблер для музыки», где можно рисовать/править от пикселей картинок/отсчетов музыки, инструментов до рисования/создания аудиодорожки большими мазками, скриптами, эффектами, где все регулируется мною, где я могу добавить любые функции, исправить любые функции, сделать прогу еще функциональнее и лучше.
А дальше мне кто-то говорит «о смотри, ее никто не качает, беги доказывай людям что она им нужна, открой исходники наконец, появится множество людей, с которыми ты вместе будешь ее кодить, кодить, кодить». На это есть тот самый ответ «у всех есть любимые проги, заменить их любимую на мою — это:
— и трудно (т.к. моя специфична, необычна-нестандартна в плане интерфейса, многие люди чем старше чем N лет становятся вообще необучаемы и не могут понять иных интерфейсов кроме привычных им),
— и не нужно, я не гонюсь за цифрой скачиваний и не преследую целей заставить все пользоваться моим редактором графики/музыки/анимаций/видео или моим мини-браузером или моей дос-оболочкой, или будущей моей полубраузерно-полуклиентской мморпг или еще какими-то там проектами, которые я придумаю потом.»
Есть подобные мне люди, которые просто выкладывают проги в инет, на форумы, на личные страницы и редкие гости забегают, качают и смотрят на их творчество blackstrip.ru/phpBB2/viewtopic.php?t=534 (там конечно только некоторые, можно по инету пошариться и найти множество страниц с личным авторским софтом).
Мне этого достаточно. Моя цель — не распространить, продать, заставить пользоваться. Моя цель — пользоваться самому и получать удовольствие от удобных мне инструментов для творчества (мне от этого банально «хорошо и весело»), а также показать другим какие можно сделать интерфейсы, утилиты, приспособы, обсудить с ними функционал, вдохновить на создание своего подобного собственного ПО, посмотреть самому на их проги.
Опенсорс мешает этому («созданию людьми собственного ПО»). Как уже я написал десяток раз — опенсорс позволяет плагиатить без усилий и без временных и денежных вливаний. Опенсорс позволяет взять готовый продукт и дорабатывать его вместо написания «собственного ПО». Вместо разнообразных разношерстных разноинтерфейсных браузеров — сплошной бесплатный хромиум. Вместо различных операционок для мобил — сплошной бесплатный андроид. Бизнес толкает разработчиков к этому. Что дешевле — то лучше взять и использовать. Что бесплатно — то тем более еще лучше взять и использовать (и спокойно украсть и использовать, «лицензии» на коленке — никого не спасут). Поэтому опенсорс без сомнения выиграет эту войну и заполнит мир тысячами одинаковых прог и сотнями тысяч тупых кодеров, которые «участвовали» в чужих проектах но не имеют за душой ничего своего (с взрослением их еще поглотит работа, в рамках которой с 10 утра до 8 вечера они кодят «на дядю», и выдохнувшись под вечер не успевают делать ничего своего и идут спать).
Без опенсорса у этих программистов вместо копий чужого могло бы появиться что-нибудь свое. Слабые кодеры сразу бы отсеялись, такой человек неспособен написать свое, он бы
в этой ситуации и не смог взять чужое (неоткуда, кроме наборов алгоритмов или обучающих какой либо технологии/приему мини-прог, которые не жалко раздавать, в инете, которые еще надо знать как использовать в своих прогах, как туда встроить, как отладить и убедиться что все ок), просто плюнул бы и пошел заниматься другими делами. Сильные кодеры, которые таки решили пройти этот путь по литературе, документации, охраняли бы свои продукты. Никто бы не разбрасывался своими наработками, а обсуждали бы в соцсетях функционал своих прог и приемы программирования, помогали бы друг другу. Раздача исходников целиком считалась бы непотребством, только за конкретную плату одни кодеры продавали бы результаты своих трудов другим кодерам, передавая разработку из одних рук строго в другие (а не из одних рук всем подряд), и уже другая фирма следила бы за продуктом, поддерживала бы его, продавала, а пользователи бы оценивали ее «вот какая стала ужасная фирма, прошлая хорошо следила за продуктом, а у этой — куча проблем с этой прогой, больше ею пользоваться не будем, уходим к конкуренту».
Опенсорс мешает этому («созданию людьми собственного ПО»). Как уже я написал десяток раз — опенсорс позволяет плагиатить без усилий и без временных и денежных вливаний. Опенсорс позволяет взять готовый продукт и дорабатывать его вместо написания «собственного ПО».
«Божья роса», да? Я вам привел логические доводы, которые вы проигнорировали, потому что иначе картину мира пришлось бы пересматривать. «Плагиатить без усилий» не имеет никакого смысла в долгосрочной перспективе. Чем больше заимствованный код, тем быстрее он превратится в груду говна на фоне оригинального проекта, которые создал и продолжает развивать мотивированный автор.
То, о чём вы говорите — разовые жульнические акции. Такие случаи не часты, всегда вызывают много шума, а их виновник становится чучелом и объектом травли всего программистского сообщества. Вы сами упомянули «Болгенос» — ну и где сейчас его автор, купается в деньгах? Про второй случай («была статья на хабре») я не в курсе, видимо пропустил. Предполагаю, что либо форкнули какой-нибудь огромный проект для «импортозамещения». Опять же вопрос — как там эти товарищи, купаются в деньгах?
В той же статье хабра про импортозамещение в комментах был один случай, когда человек написал прогу под заказ и поинтересовался насчет опенсорса, а ему отвечают что-то типа «дружок, выложи ты это в опенсорс — ты бы остался без наших денег, мы бы просто взяли твой бесплатный код и использовали у себя».
Опенсорсерам остается конечно модель распространения типа «кастомизация», настройка открытых прог под нужды заказчика. Но эта модель распространения сейчас активно давится облачным ПО, которое просто в браузере открывается с какого-то сервера, и исходников никаких нет (конечно, их могу предоставить, но могут и просто не давать), готовая прога под заказчика. Есть надежда что бесплатный продаваемый десктопный опенсорс провалится со временем и его забросят бизнесмены.
«наличие бесплатного кода подталкивает бизнес к его краже/использованию по лицензии, а не написанию своего»
К краже — нет. Я уже объяснял почему это не нужно ни бизнесу, ни отдельным людям. НЕ-ВЫ-ГОД-НО.
К использованию по лицензии — да. Потому что так и задумывал автор проги, понимаешь? Он захотел подарить свою программу всем желающим, чтобы она приносила людям пользу. И если даже бизнес стал её использовать — значит программа хорошая.
Из-за этого появляются болгеносы и проекты по импортзамещению на основе сплагиаченных прог.
Не из-за этого, а потому что нашёлся очередной дурачок, который решил что это ему сойдет с рук. Обычно не сходит, а над дурачком смеётся весь мир. И случаи такие НЕЧАСТЫ.
В той же статье хабра про импортозамещение в комментах был один случай, когда человек написал прогу под заказ и поинтересовался насчет опенсорса, а ему отвечают что-то типа «дружок, выложи ты это в опенсорс — ты бы остался без наших денег, мы бы просто взяли твой бесплатный код и использовали у себя».
Я не понял, что это должно доказать? Да, это было бы так. В чём проблема-то?
И приведите уже ссылку на ту статью про импортозамещение, а то вы оттуда дергаете цитаты
Коммент про «если б выложил код в открытую — я бы не заплатил» найти не могу. Вероятно он в другом каком-то посте был.
Ну и как в самом посте описал автор:
В «Алми Партнер», похоже, смекнули — раз софт свободный, значит можно его взять себе.
Свободный софт спровоцировал фирму «Алми Партнер». Был бы он проприетарным с закрытым кодом, а еще и коммерческий — и Алми Партнер бы испугались и не стали бы воровать. Они же, например, в MS Office не стали перебивать логотип. Значит открытый код провоцирует людей на кражи кода и целиком проги. Дело раскрыто.
Я давно воспользовался этим простым расчетом чтобы использовать собственные наработки в собственных проектах в дальнейшем и не допустить форков/копий/расползаний проекта. Захотелось вот так)
На данный момент финальный результат размышлений — вот тут habr.com/ru/post/465709/#comment_20630991
В статьях типа «смотрите какую клевую штуку я сделал» хорошим тоном считается предоставление исходников. Насколько я знаю, на Хабре так было всегда. Причины есть разные, от любопытства до доказательства отстустсвия вредоносного кода, но дело не в этом, а в том что это вы делаете необщепринятые вещи, поэтому не надо удивляться и обвинять других.
Прочитал статью думал вот автор молодец не лень же было так заморочиться, пойду посмотрю что получилось… Далее читаю комментарии автора и полностью меняю свое мнение.
В чем вообще смысл статьи если нет исходников?
По мнению второго товарища «нет исходников — нет смысла в статье», т.е. нет смысла описывать конструкцию подобного браузера, логику его работы, взаимодействие с пользователем (чтобы другие могли написать подобное, в чем-то повторив описанное или наоборот придумав что-то другое свое). Чтобы появился смысл — придется открыть исходники.
поэтому я должен открыть его всем
Дык по мнению первого товарища «не выкладывать исходники — делать необщепринятые вещи». Чтобы делать общепринятые вещи — придется открыть исходники.
Первый товарищ вам уже несколько раз повторил, что ваши исходники ему не нужны. Каким образом во фразе "мне не нужны ваши исходники" вы нашли смысл "откройте ваши исходники"?
Я пожалуй вам еще раз объясню. Как маленькому. Подробно.
— Первый человек сказал, что ожидал в статье увидеть исходники: "В чем вообще смысл статьи если нет исходников?".
— Вы высказали непонимание: "исходники в комплекте не идут. Чего тут непонятного? Ну и я вообще не понимаю на кой хрен везде раздавать свой код".
— На тот момент уже было несколько комментариев по поводу исходников от других людей, и ваших ответов с подобным непониманием.
— Я вам объяснил, почему люди ожидают их наличие: "В статьях типа "смотрите какую клевую штуку я сделал" хорошим тоном считается предоставление исходников". Что такие ожидания имеют место быть не только к вам лично, а вообще ко всем. Что ваши претензии по поводу "хотите халявы" и прочие оскорбления необоснованны.
— Объяснил почему, а не просил выложить.
— Более того, я вам написал в том же абзаце, который вы процитировали: "Сказали, что не выложите, объяснили причины, и всё".
— Более того, вам и несколько других человек написали "не хотите — не выкладывайте, только не надо оскорблять других, кто выкладывает".
Умерьте уже свое самомнение, не все, что делают люди, вращается вокруг вас или ваших исходников. И не надо приписывать свои домыслы другим людям.
Я в ходе обсуждения не только отказал в открытии исходников ("мое по проприетарное, но вот вам кусок кода про обработку одного из тегов" — это была первая просьба-вопрос насчет сурскода). В ходе обсуждения вылезли ряд недовольных таким положением дел с проприетарностью и недовольных куском кода. Для первых была написана в итоге целая притча про двух мастеров, бомжей, алкашей и школьников, которая объясняет почему я не хочу иметь дел с опенсорсом. Для вторых были обсуждены выяснены причины недовольства (табуляция и имена чекбоксов). Все хорошо, расслабьтесь и не пишите больше таких ковров.
В ходе обсуждения вы оскорбляли других людей, обосновывая это ложными утверждениями. Люди вам объясняли, в чем заключается ложность, что вы несете чушь, и почему это чушь. Да, вот эта ваша притча про мастеров и школьников. Но сейчас я говорю конкретно про эту ветку.
В ходе этой ветки вы утверждали, что я один из тех, кто говорил, что вы должны открыть исходники. Не приписывайте мне то, чего я не говорил, и я не буду это опровергать.
лучше бы, как в анкдоте —
мазохист — бейте меня, бейте. садист — а вот и не буду!
JustCode — скоростной браузер для бюджетных компьютеров и планшетов на Windows