avva: (Default)
[personal profile] avva
О ценности исходников вне конкретного проекта:
Is your code worthless?

...There is extraordinarily little code theft in this industry (even though we’re in the era of burnable DVDs and USB keys) because most code - above and beyond the industry-wide frameworks and libraries - has no value at all outside of a specific project with a specific group of developers. Trying to use it for other projects is often worse than starting with nothing at all.


Верно подмечено, и мне приходилось об этом не раз задумываться.

Вот взять например код ЖЖ, над которым я работал почти три года. Все это время он был open-source. Любой мог взять его, построить свой клон ЖЖ, причем LiveJournal.com это не просто приветствовал, а еще и помогал советами, подсказывал, где что починить, если не работало, итд.

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

Но постепенно количество таких сайтов уменьшилось и почти сошло на нет. Почему? Потому что трудно оказалось на основе кода ЖЖ построить что-то, что не является идентичной копией ЖЖ (плюс-минус оформление). Для того, чтобы какие-то мелочи заменить, можно немного покопаться в исходниках, и все. Но предположим, вам захотелось бы сделать, чтобы комментарии шли не деревом, а линейным списком, как во многих других системах. Или ввести новую систему стилей для пользователей, чтобы у них было столь же много контроля над видом дневника, как в MySpace. Или еще что-то относительно глубокое. Для этого надо долго, долго сидеть над исходниками, разбираться; сделаться специалистом в MySQL и его репликации; изучить memcached и perlbal; перелопатить тонны перловского кода. Но для этого всего нужно столько вложить усилий, что за то же время, ну или не за то же, но за тот же порядок времени, можно было бы свою систему с нуля написать. А свою, ясно, с многих точек зрения привлекательней получается.

И это ведь не следствие, скажем, того, что мы плохо код писали. Код ЖЖ очень хорошо разбит на модули, библиотеки, итд. Хорошему программисту его легко читать и изучать. Это хороший код. Но ничего не поделаешь - его много. И ничего не поделаешь - он заточен под тот набор возможностей, которые LJ хотел дать своим пользователям. И вместе - выходит большая сложная система, которую тебе дают бесплатно, а все равно брать ее оказывается невыгодно. В результате что осталось из всех сайтов, основанных на ЖЖ? Deadjournal, GreatestJournal, и Lj.Rossia.org. Кажется, больше никого заметного и нет.

И это не какой-то особый случай, редкий. Нет, с почти любой сложной системой так обстоят дела.

Есть, наверное, исключения. Пожалуй, важность исходников больших проектов чаще заключается не в том, чтобы их использовать в другом месте, а в том, чтобы изучить их и выяснить какие-то подробности имплементации. Скажем, исходники Windows полезны тем, кто хочет найти дырки в Windows и написать вирусы; или тем, кто хочет написать эмуляцию Windows под Линуксом; но вряд ли они полезны тем, кто пишет само ядро Линукса. Исходники поисковой системы Гугла, над которыми я работаю сейчас, если бы их украли, вряд ли пригодилось кому-то для создания конкурентной поисковой системы; но тщательное их изучение могло бы принести многомиллионные прибыли какому-нибудь веб-спаммеру или SEO (Search Engine Optimizer - люди, которые за деньги стараются поднять посещения на вашем сайте из поисковых систем; я был совершенно поражен, узнав, насколько это большой бизнес). И так далее.

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

Re: Плагины

Date: 2007-07-15 10:14 am (UTC)
From: [identity profile] mikkim08.livejournal.com
Интересно было бы проанализировать. И сравнить с какими-нибудь майспейсом и фейсбуком.

Но ситуация видимо такова, что о создании отчуждаемого и расширяемого кода никто не задумывается. Потому что это не важно. Ибо самое важное это выкатить сайт с нужными фичами, как можно быстрее.

Если сайт "не пойдет", то и расширяемость не нужна. А если "пойдет", то "решпект и уважуха" будет и без расширяемости.

Ну а если очень надо, то дяди с деньгами наймут умников, которые и архитектуру сделают по-нормальному и перепишут все по новой. Типа, "бойцы невидимого фронта".

Re: Плагины

Date: 2007-07-15 11:19 am (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
Угу.

А отчуждаемые части (тот же memcached, или, даже, может, интерпретаторы bml и система стилей) в нём есть. Просто потому, что так вышло :)

Re: Плагины

Date: 2007-07-15 08:23 pm (UTC)
From: [identity profile] mikkim08.livejournal.com
Но ведь можно и по-другому посмотреть.

Если все пишут свои сайты, не задумываясь о расширяемости и отчуждаемости, то может тут и кроется какая-нибудь opportunity ? Ну, для "нормальных пацанов" :) Которые пишут медленно, но "правильно".

Re: Плагины

Date: 2007-07-15 08:34 pm (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
Это разные бизнес-модели. Можно сделать огромный и уникальный сайт (какой-нибудь amazon.com) и делать деньги через него. Можно -- фреймворк для создания сайтов, и делать деньги, создавая сайты. В первом случае отчуджаемость ни к чему, и если дешевле без неё, о ней не заботятся. Во втором отчуждаемость принципиально важна.

И т.п.

Re: Плагины

Date: 2007-07-16 04:58 am (UTC)
From: [identity profile] mikkim08.livejournal.com
Расширяемость и отчуждаемость нужна и для одного единственного сайта. Чтобы его было легче расширять и менять со временем.

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

То, что об этом люди не задумываются, это правда. И в этом их сила. Они выкатывают свои сайты быстрее.

Но не исключено, что если таки задуматься, то можно у них выиграть. Это я имел в виду под той opportunity.

January 2026

S M T W T F S
    1 2 3
4 5 6 7 8 910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 11th, 2026 12:53 am
Powered by Dreamwidth Studios