Представляем вашему вниманию статью, написанную человеком, имеющим большой опыт в программировании, работающего над созданием онлайн-проекта, предназначенного для кооперации хозяйственных субъектов на некапиталистической основе.
Итак, забейте поплотнее, да затянитесь покрепче... Давайте ненадолго представим, что государство наше - со всеми его силовыми структурами, думой, муниципалитетами, администрациями и другими органами - перестало существовать. Внезапно. Просто в какой-то момент централизованная власть исчезла. Предположим, что при этом не пострадала техническая инфраструктура страны - водоснабжение городов все еще продолжается "по привычке", электричество поступает в дома, интернет - на месте. Представили? На этом месте предлагаю выдохнуть и уже без фантазий попытаться предположить, что же может произойти дальше в действительности.
В принципе это несложно. Основное взрослое население любой цивилизованной страны привыкло исполнять задачи, поставленные ему сверху. Ждать, что эти люди внезапно организуются сами и смогут использовать имеющийся у них потенциал - бессмысленно. На текущий момент у меня нет так же оснований полагать, что кому-либо удастся 'по быстрому' обучить массы самоорганизации, хотя бы в масштабах города. Значит, либо найдутся люди, которые начнут спешно восстанавливать хорошо всем знакомую иерархию подчинения, либо страна надолго превратится в подобие Сомали с российской спецификой, техническая инфраструктура деградирует, города вымрут от болезней, голода и холода или будут поделены на сектора враждующими кланами. А может быть, все это произойти не успеет, поскольку бывшие территории страны окажутся занятыми солдатней из соседних стран, в первую очередь из тех, которые испытывают острую нехватку своих ресурсов.
Очевидно, сценарий мог быть более благоприятным в случае, если бы у людей на момент Ч имелись бы отлаженные организационные методы и инструменты для самостоятельного существования.
Именно соответствующие инструменты делают возможным решение многих сложных задач. Самоорганизация же - задача, прямо скажем, непростая. Для ее решения необходимо обеспечить выполнение ряда специфических условий, наиболее важными из которых являются доверие к партнерам, простота поиска этих партнеров и наличие формализованных протоколов формирования сети сотрудничества и коллективного принятия решений.
Частичное покрытие означенных условий можно наблюдать уже сейчас на примерах развития интернет-дневников, социальных сетей и других массовых информационных инструментов. Следующим шагом в этой эволюции может стать некоторая программная система, обеспечивающая более полное соблюдение условий, необходимых для сложной самоорганизации людей в масштабах городов и стран. Доверие к партнерам в такой системе может обеспечивается наличием у последних публичной деловой репутации, формируемой на основании истории деятельности участника в системе.
Поиск партнеров может осуществляться по формализованным 'деловым' параметрам, таким, например, как навыки человека, опыт его работы в той или иной области, готовность к работе и т.д.
Процессы объединения людей в рамках отдельно взятого проекта и шаги исполнения этого проекта так же будут формализованы и представлены в виде определенного протокола.
Давайте попробуем описать один из таких протоколов. Для этого введем пару определений.
1. Ресурс - то, что подлежит обмену: товар, услуга или эквивалент стоимости.
2. Коллективный договор - совокупность обоюдных договоренностей в группе людей о порядке исполнения обязательств членов группы друг перед другом.
Далее заметим, что любое сотрудничество сводится к обмену ресурсами согласно некоторым договоренностям. При этом обмениваемый ресурс может быть промежуточным и не иметь конечного собственника в контексте отдельно взятого акта сотрудничества, предназначаясь для достижения каких-то промежуточных целей. Например, производитель кирпичей может предоставлять кирпичи строителю не как плату за работу, а как материал для строительства дома. Сотрудничество может быть описано формально и представлено в виде некоторого коллективного договора (см. выше), который может быть построен постепенно, по принципу снежинки.
Рассмотрим возможный порядок шагов для образования сети сотрудничества с целью решения задачи ремонта дороги в контексте рассматриваемой программной системы.
1. Создание коллективного договора
Кто-то должен сделать первый шаг и создать сущность коллективного договора, описать контекст его задачи и конечные ресурсы (производство которых может рассматриваться как начальная цель проекта). Создавший договор участник выступает как организатор всей затеи, по крайней мере на начальных ее этапах, и ему необходимо так же добавить промежуточные ресурсы, необходимые для получения ресурса конечного. Например, некто может выступить в роли руководителя в проекте ремонта дороги (конечный ресурс - отремонтированная дорога), если в наличии у него будут ресурсы 'бригада рабочих', 'техника' и 'деньги', необходимые для оплаты услуг бригады.
2. Присоединение участников
Заинтересованные проектом пользователи системы могут принять в нем участие. Для этого необходимо оформить намерение в виде заявки на поставку того или иного ресурса. Например, бригада рабочих может заинтересоваться выполнением работ в обмен на деньги. Соответственно, должны быть поданы заявки на поставку ресурса 'бригада', и потребление ресурса 'деньги'. Владелец ресурса (тот, кто добавил ресурс в систему), анализирует заявки и принимает наиболее подходящие. Каждый новый участник договора, помимо подачи заявок, может добавить информацию о своем собственный ресурсе, в котором он может нуждаться, Так, бригаде может потребоваться разрешение от властей на проведение работ в заданном месте. Значит, должен найтись кто-то, кто взял бы на себя вопросы согласования работ с властями.
Таким образом может быть сформирована разветвленная сеть сотрудничества с распределенным управлением. Для предотвращения замусоривания договора ресурсами потенциальных участников, ресурс следует делать доступным для массового просмотра лишь при условии принятия всех заявок участника.
3. Принятие договора
Когда сеть сформирована, то есть для всех требуемых ресурсов имеются подтвержденные поставщики, перед началом исполнения обязательств все действительные участники должны принять договор, то есть выразить свое согласие с тем, что они готовы работать в текущей конфигурации и сотрудничать с другими участниками согласно достигнутым на данный момент договоренностям.
4. Исполнение
На этом этапе договорившиеся "на берегу" участники отправляются в "плавание", то есть приступают к непосредственному исполнению обязательств. Поставка каждого ресурса подтверждается потребителем этого ресурса.
5. Завершение договора
Договор считается завершенным, когда все поставщики выполнили свои обязательства, то есть поставка всех ресурсов подтверждена потребителями этих ресурсов в контексте договора.
Приведенный сценарий описывает единовременное сотрудничество, но может быть расширен для долгосрочного партнерства с целью, например, производства какого-либо товара или предоставления услуг населению.
Так же необходимо заметить, что протокол формирования и исполнения коллективного договора не задает конкретных правил обсуждения технических и иных деталей на этапах присоединения новых участников и принятия договора. Для обсуждения деталей необходимо применять отдельный специализированный протокол, предназначенный для принятия решений в группах.
Как было сказано выше, деловая репутация может являться основанием для доверия к партнеру в масштабах крупнее отдельно взятого локального сообщества (в котором люди могут знать друг друга лично). Репутация может формироваться в ходе деловой деятельности участника на основании оценок, полученных участником-поставщиком от партнеров-потребителей при подтверждении последним факта поставки ресурса (см. сценарий выше).
Итак, грубая спецификация для информационной системы самоорганизации в больших масштабах - имеется. Автор этого текста - java-разработчик со стажем - предлагает попробовать создать такую систему и внедрить ее в массы. В случае успешных примеров работы и информационной поддержке количество пользователей будет постепенно расти до достижения некоторой критической массы, при которой сообщество системы можно будет считать относительно самодостаточным, автономным. После чего может начаться лавинообразное увеличение количества участников, система будет развиваться, делая процесс самоорганизации все более доступным, и на каком-то этапе государственные структуры попросту перестанут иметь актуальность, получив функциональную замену внутри новой системы. Государство станет не нужным сообществу системы масштаба страны.
Конечно, это лишь теория. Но, на мой взгляд, эту теорию стоит проверить, проведя соответствующий эксперимент. В любом случае будут получены результаты эксперимента, а значит, и пища для дальнейших размышлений...
Создание системы уже ведется, желающие помочь в разработке, высказать свои замечания, предложения и просто пообщаться по теме - могут связаться с разработчиком по электронной почте (psgrepjava@gmail.com). Участие в разработке может быть так же полезно тем товарищам, которые хотели бы развить навыки владения языком java, современными технологиями и шаблонами проектирования программных систем.
Добавить комментарий