Tuesday Dec 30, 2008

Real Leadership Starts with Real Action

I find most conversations about "leadership" little more than meaningless chit-chat. A waste of time. Talk is cheap. Just ignore it. Action speaks clearly. With that in mind, watch this CNN clip of Japan Airlines CEO Haruka Nishimatsu's attempt to manage his company through tough times -- Evolving Excellence: $20 Billion Company CEO ... Takes the Bus. (Video: here, here,)

What do you think? I've watched the darn thing a dozen times. I can't get enough. It's an inspiration. Yet, it's so stupidly simple. And it speaks quite clearly about this guy's priorities and those of his company. Can you imagine in your wildest dreams business, labor, and political leaders in modern America following this reality of leadership? Yah, I doubt it too.

Now, some of this is cultural in that the distribution of wealth in Japan is not nearly as insane as it is in the United States, and the so-called "talent" market in Japan is nothing like it is in the West as well. The Japanese think very differently about individual talent and its value in relation to an overall organization. It's difficult to explain, but I see it everywhere around here. And I can see both good and bad in it as well. So, I'm not saying that the Japanese know best in all cases. They don't. Neither do we, actually, but we tend to not recognize that. But I do find it remarkable that this story in Japan is really not a big deal at all. Should it be? Regardless of the obvious cultural differences, the United States may be forced to make some cultural changes like these in the near future. It will be fascinating to see how the country deals with it. Is all that "talent" worth all that cash? If it is, so be it. I'm all for paying for the best. But if not, can we finally recognize it, please? Can this be any more obvious now? So far the solution is simply to raid the pockets of us regular people to save all the experts and billionaires with a never ending series of bailouts. How long that will last who knows. I suspect not for very long before people get really pissed, but what do I know. I'm nobody. I have no power. I'm not special in that system, and don't think for a minute that that doesn't get me very down at times. I know, I know ... Obama is going to save us. Right. Got it.

Oh, and by the way, when I travel throughout Asia for Sun, Japan Airlines is always an option for obvious reasons. They fly there a lot. And I generally choose based on times and prices, etc -- just like everyone else (well, everyone else who flies 3rd class, I mean). So, do you think knowing that JAL's CEO is taking the freaking bus to work hanging on to the damn strap like I do and making less money than his pilots will affect my decision to choose an airline? You can absolutely count on it. Never mind that the service on JAL (and most Asian airlines) is vastly superior to every single American and European carrier in the air, I'm talking this guy's plane because he's talking the bus. Period. And Nishimatsu didn't initiate this no-frills style of management when the U.S. fell off the financial cliff a few months ago. Nope. He started a couple of years ago. Anyway, I gotta calm down. Here are some related links talking about this issue. Good stuff. All worth a read if you are just a regular working stiff trying to figure out how to retire and put your kid through college.

Ah, one more thing before I forget. And this is a big deal. If you want to build community in this new era -- one where the people have more of a voice than ever before -- do what Nishimatsu-san does. It's required. How else would you have any credibility whatsoever?

Wednesday Dec 24, 2008

Building Community with Photography

I'm noticing more and more of my images showing up all over the web -- in blogs, on mailing lists, on news sites, in presentations, and inside multiple social networks. That's very cool. I tag my images with the Creative Commons license, so I specifically want people to use them in new and interesting ways.

Before I started taking photographs at community events a few years ago, I hadn't realized the power of an image to cut through language and cultural barriers. It's quite efficient, actually. Every time someone puts one of my images into a Chinese or Japanese or Spanish (or whatever) blog and links back to me it literally introduces me to that community in their native language. And, in many cases, I've met new people I would have never met before in countries I've never been to. All from an image. Now, this happens with text all the time, of course, since I've been communicating on one forum or another in multiple open communities for years now. But it's a very different experience with photography. Images are so much faster at making personal connections across barriers. You don't have to translate. It's easy. You just look. It's instant. In some ways, images actually transcend language while still communicating something of value. I'll have to take more pics and write fewer words.

Monday Dec 15, 2008


It`s more than a little humbling to be featured in Joi Ito`s beautiful new book, Freesouls. I don`t know what to say, actually. It`s an honor. I believe in what Joi is doing for freedom, I learn from him and those around him, and I embrace the opportunities to contribute to a growing number of open communities around the world. Freedom. See Creative Commons here. See Joi`s blog here.

Sunday Oct 26, 2008

Leadership Today

Really good conversation about leadership from Charlie Rose at the Harvard Business School with John Doerr, Jeffrey Immelt, James Wolfensohn, Meg Whitman, Anand Mahindra. My favorite bits come around the 31 minute mark when they start focusing more about the economic shift to Asia and the keys to leadership. Some of the concepts they talked about include:

    \* Spend what you earn. That doesn`t sound so anymore, eh?
    \* Educate people for a global world. The U.S. is still focused on the West.
    \* Don`t forget the liberal arts. Think.
    \* Ask people to help. People want to gather together, be involved, volunteer, help. Ask them.
    \* Build the following: a sound financial system, an energy policy, a health care system.
    \* Be accountable for results.
    \* Balance right brain and left brain thinking.
    \* Encourage a culture of acknowledging mistakes.
    \* Knowing is not nearly as important as learning.
    \* Expect unpredictability.
    \* Be willing to make decisions and stand by them.
    \* Communication.
    \* Transparency.
    \* Ideas are good, but execution is absolutely everything.
    \* Teams win.
    \* Character. You know it when you see it.

I`m extremely suspect of so-called experts and big names predicting the future nowadays, but this panel was a nice mix of sobering realism and inspiration with very little preaching. Just some people talking. Well worth a listen.

Sunday Oct 19, 2008

Sharing Cultures

There is a new Creative Commons campaign for 2008. And a great new video on sharing the culture. This blog is under CC. And so are my 9,000 or so images on flickr. The CC culture has enabled me to meet many hundreds of people around the world and also to be exposed to many thousands more. Really wild experience. Liberation.

The "New Context" Conference 2008: Tokyo

Looking forward to The New Context Conference in Tokyo in a couple of weeks. Looks like a great line up of international speakers for some conversation about open networks in a post Web 2.0 world. Will not miss this.

Wednesday Oct 08, 2008

Face to Face

David Sifry, founder of Technorati and Offbeat Guides, talks about building international businesses. Two quick points: you need to find great local people you can trust, and you need to make sure they are properly connected and can execute. How do you do this? There are no exceptions: you have to go there. Wherever there is. You have to go spend time with people. Face to face. 

Thursday Jun 12, 2008

Sun Czech #1

My Czech is a tad rusty, but I'm told that Sun was recently voted the best open source company in the Czech Republic for its support of the NetBeans community. Congrats, guys! I'll be in Prague for the first time in a couple of weeks, so I'm looking forward to meeting everyone there.

Tuesday Jun 03, 2008

Организация сообществ OpenSolaris

OpenSolaris представляет собой сообщество сообществ, поэтому организация таких структут требует затрат сил и времени. И этого никак не избежать. Вброс кода на общую стену для самостоятельного изучения - это последнее, что может привлечь разработчиков и пользователей во всем мире. Самое большое на данный момент сообщество OpenSolaris проживает по адресу opensolaris.org, но даже теперь оно состоит из множества небольших сообществ, которые складываюстя в группы сообществ, проекты и группы пользователей. А тем временем вместе с появлением новых веб-сайтов на развивающемся рынке появляются новые сообщества, а также закрытые дистрибьюторы, которые не обязательно имеют возможность прямого соединения для работы с opensolaris.org. OpenSolaris больше не монолитная структура в одной географической точке. Сообщество растет и изменяется в масштабе всего мира.

С тех пор как компания Sun открыла общему доступу закрытые проекты на opensolaris.org и продолжает в открытую разрабатывать проекты с самого начала, у многих возникли вопросы: "Как организовать сообщество?", "Зачем нам сообщество?", "Как сделать так, чтобы сообщество расширялось?" Итак, мой вариант ответа на эти вопросы без технических подробностей. Список приведенных методов не обязательно будет полным (да мы и не пытались выполнять некоторые пункты безукоризненно), это всего лишь набор предложений, которые помогут решить, нужно ли вам организовывать сообщество вокруг вашей идеи.

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

  2. Прозрачность: Выбирайтесь из укрытий. Нельзя создавать сообщество прячась за брандмауэром. Общение, упорядоченные данные, исходный код, двоичный код, документация, инструментарий, люди, инфраструктура, иллюстрации -- вытаскивайте все это, чтобы каждый имел равные возможности для совместной работы. Если у вас нечем поделиться - никто не поделиться с вами и сообщества не получится. А если вы будете говорить про себя, никто не услышит и даже не подумает о вашем существовании. Это единственная огромная ошибка которую допускают люди в компании Sun. Они пытаются существовать в двух мирах. Вы не можете. Решите. Или вы открыты или нет.

  3. Участие: Сообщество предполагает непосредственное участие и построение доверительных отношений. Это значит, что каждый выбирает свой путь, вкладывая в развитие сообщества, ожидая перспектив и открытости. Такой подход можно представить себе как различие между сообществом и программой. Как правило, для большинства программ существует только одна дорога -- из компании на рынок. Но сообщес��ва как минимум двусторонни (фактически многомернее) и могут многое накапливать в себе и многое отдавать. Кроме этого, участие предполагает работу, а не разговоры. Тех кто руководит и чей голос перекрывает все остальные. Заработать доверие можно только трудом, вкладываемым в сообщество, а не названием своей компании. Если вы хотите чтобы люди посещали сообщество, вам следует прислушаться к этому совету и позволить им принять участие.

  4. Вклад в сообщество: Определите, какого вклада в ждете. Определите основные категории, соответствующие примеры и ждите, пока сообщество предложит свои примеры и укажет мелочи, которых вы не учли (фактически это и есть цель). Это список тех дополнений, в которых участвовали члены сообщества OpenSolaris -- код, скрипты, тесты, справка, презентации, группы пользователей, управление конференцией, языковые порталы, переводы, университетские курсы, графические средства, реклама, обучающие материалы, демо-ролики, видео, веб-сайты, вики, объединения, документация, статьи, блоги, подкасты, процесс разработки, учебные пособия, методы входа, обратная связь, средства компановки языка, инструментарий SCM, перезапись связанных двоичных файлов, система слежения за ошибками, командные оболочки, дистрибутивы, книги, порты, управление и т.д. Некоторые из этих элементов технические, некоторые нет, но большинство не включает в себя код ядра системы. Другими словами, подумайте, какой вклад вы хотели бы получить со стороны членов сообщества, а затем просто позвольте списку открыто разрастаться. После того как процесс пойдет своим ходом, отметьте тех, кто действительно вносит вклад в развитие сообщества. Необходимо постоянно привлекать внимание к вкладу в развитие сообщества, но делать это косвеннным образом. В большинстве сообществ все знают людей, которые вносят реальный вклад в развитие, потому что дела говорят сами за себя, и, как правило, такие люди работают друг с другом в открытую. Не будет лишним время от времени приносить благодарность таким людям.

  5. Презентации: Главная проблема всех технических презентаций - их продолжительность и сосредоточенность на описании непосредственно технологии. Это подойдет для класса или интерактивного обучающего урока. Но создание сообщества практически не связано с технологией, а связано с людьми. Конечно, есть резон пояснить свою технологию, но следует обратить основное внимание на то, как разработчики и пользователи смогут принять участие и внести свою лепту в эту технологию и сообщество, на то, какие преимущества в итоге получат все. В большинстве технический презентаций можно видеть один итоговый слайд со списком списков для вступления в сообщество. Этого недостаточно. Нельзя говорит об этом после всего, надо сделать это ключевым.

  6. Конференции: Конференции нужно посещать. Компания Sun проводит различные конференции, но также стоит пойти на другие встречи по FOSS (САПО). Хоть они и отличаются, но будут полезны. Не нужно стараться побывать на всех конференциях. Участие в собраниях, коридорных беседах, совещаниях BOF и вечеринках не менее важно, чем представление официальных бумаг. Стоит просто побыть на таких мероприятиях. Чтобы создать чувство сообщества, нужно смешивать личное и интерактивное общение. Но не упускайте возможности провести короткий экстренный разговор! Большинство хороших конференций дают такую возможность. Кроме этого, добавьте группы пользователей в список конференций. Перейдите к ним или создайте их. Если решили создать группу пользователей, сделайте это в кафе, баре или еще где-нибудь. Начинайте спокойно и дружелюбно, позвольте технической презентации медленно вырасти по мере того, как люди будут переносить свой опыт в группу. И не думайте, что нужно каждый месяц проводить большую техническую презентацию с сотней человек в помещении. Это нереально. Попробуйте проводить технические собрания раз в квартал, при ежемесячных встречах в баре с закуской и пивом и обсуждениями деталей в списках рассылки между встречами. Начинайте с малого, стараясь найти варианты для создания традиций посредством повторения опыта. С течением времени возникнет небольшая культура, которая станет связывающим элементом для группы.

  7. Процесс разработки и инфраструктура: Если вы собираетесь создать сообществ��, вам придется потратить некоторое время на расчет физической инфраструктуры, которая понадобится для поддержки всех членов сообщества. Будет ли она масштабируемой? Как построить процесс разработки для включения дополнений? Какой вид тестирования необходим? Будет ли предлагаться "песочница" для экспериментов? Какие средства нужны для хранения компонентов проекта? Кому дать доступ? Все это зависит от того, будет ли в качестве хоста использоваться opensolaris.org либо другой сайт, и где будут созданы группы сообщества, группы пользователей или проект разработки. Создателей высококлассного кода всегода немного, и эти ребята могут подобрать себе нужный инструментарий. Однако, следует так же привлекать к дискуссии и не-программистов, хотя бы немного, тогда ваша инфраструктура будет учитывать возможност размещения дополнений различного рода.

  8. Лидерство, управление, культура: Какие ценности у вашего сообщества? Как будет выглядеть его социальная структура? Как будет сообщество существовать самостоятельно? Как вы будете принимать решения? Какую модель лидера будете использовать? Как привлечь внимание к активным участникам? Как управлять конфликтами? Все эти вопросы появляются в любой достаточно большой группе, объединяющей людей, совместно работающих над какой-либо проблемой. Когда группа небольшая, все легко можно разрешить...в уме. Но когда сообщество преобретает глобальный масштаб, нужно задокументировать желательное поведение и установить некоторые правила управления. Они не должны быть всеобъемлющими и бюрократическими, но люди должны понимать, что вы поощряете и чего ожидаете. Возможно, иметь одного сильного лидера лучше всего, но вы можете принять решение о применение других вариантов, например механизмов распределенного руководства. Изучите для примера сообщества Mozilla, Linux, Apache, Ruby, Java и BSD. На самом деле существует много других, но это самые крупные сообщества по открытому программного обеспечению.

  9. Университеты: Если вы собираетесь развиваться, вернитесь в школу и пообщайтесь с молодыми людьми. В первую очередь представьте свой проект учащимся и преподавателям в странах с развивающейся экономикой По очевидным причинам есть смысл начать с Индии и Китая. Но не стоит игнорировать сформировавшиеся рынки. Посещение университета, возможно, наилучший вариант убедиться в том, что проект имеет будущее. Поэтому не стоит им пренебрегать. Лучше поставить университеты первыми среди приоритетов. Кроме прочего, это, вероятно, будет самой забавной частью в процессе создания сообщества.

  10. Глобальные задачи: Сообщество организуется с учетом глобальных перспектив. Где найти разработчиков, которые заинтересуются вашей идеей? Спешите туда. Скорее. Когда вы работаете в глобальных масштабах, вы сталкиваетесь с различными необычными языками и культурными вопросами, которые замедляют ваше развитие. Учтите это. Найдите людей, которые могут помочь вам в организации сообщества в данном пункте, а затем постарайтесь объединить все эти точки воедино. У вас не "одно" сообщество на весь мир, поэтому не следует ожидать, что все просто последуют за вами (или даже поймут вас). У вас будет множество сообществ и они будут выражать свою независимость по-разному. Ваша работа - поддерживать их независимость насколько это нужно, но также оказать помощь для взаимодействия с другими регионами, чтобы они смогли принять участие в данном метасообществе. Кстати, это нелегко. Но необходимо. С развитием рынкам это может стать источником действительно инновационных дополнений.

  11. Маркетинг: Познакомьтесь с вашими маркетологами. Они могут помочь сделать рекламу вашему проекту на конференциях, в СМИ, в работе аналитиков или на встречах с пользователями. Кроме этого, они могут предложить перспективные наработки по важным вопросам, о которых вы не задумывались. Таким как торговые марки, брендинг, выпуск товара, анонсы, утечки и подрыв рынка. Не обязательно знать, что СМИ говорят о вас, не так ли? Может больше конкретной помощи? Что за конкрентные методы могут увидеть маркетологи в отличие от вас? Кроме этого, участвуйте в специальных программах, которые время от времени проводит компания Sun, например конкурсы и соревнования по к��дированию. Также у компании имеются другие программы для разработчиков и веб-сайты, которые приветствуют участие и материалы по существу. Так можно удачно использовать глобальные ресурсы компании. Кстати, скромность и честность - это лучшие техники для проведения в жизнь эффективного маркетинга по открытому коду. Держите это в голове, когда будете раскручивать свою идею.

  12. Активная поддержка: Это больше чем маркетинг и конечно же, отличается от него. И не связано с такими специфическими маркетинговыми дисциплинами как реклама, сбыт, брендинг, связи с общественностью или AR. Напротив, это связано с прямым, бесцензурным привлечением на уровне, который приводит к активному участию и вкладу в работу. Связано с организацией сообщества постредством открытых коммуникаций. Теперь активная поддержка, конечно, включает маркетинг, но, кроме него, это проектировщики и руководители проектов -- а также все, кто хочет принять участие. Отметит, что вы являетесь самым важным звеном поддержки своей работы. Поэтому вы и берете на себя прямую ответственность за организацию коммуникации по своему усмотрению. Вы будете привлекать и другие ресурсы для этих целей, но в конечном счете вы будет ответственны за результаты своей работы -- что в данном случае означает расширение сообщества и поддержку своей технологии. Не следует перекидывать это на чужие плечи и стоять в сторонке. Участвуйте.

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

  14. Управление проектом: С ростом сообщества, оно наверняка начнет работать над несколькими прикладными проектами, вовлекая в работу пользователей по всему миру. Кто возьмется выполнять все эти сложные операции? Кто будет придерживаться плана, обновляя исходные параметры и графики работы? Кто поможет вас с организационной политикой, с которой непременно придется столкнуться? Так что, вероятно, вы захотите найти хорошего руководителя проектов, который поможет справиться со всем. Открытое сообщество нужно как инженерам, так и руководителям проекта. Если посмотреть на проект в самом широком смысле, можно заметить что он касается множества различных дисциплин до и после брандмауэра. Это влияет на то, как организуется сообщество. 

  15. Развлекайтесь: И наконец, создание сообщества - это социальное упражнение, поэтому люди должны развлекаться участвуя. Вы ведь хотите затянуть людей в свое сообщество, верно? Вы хотите, чтобы люди посещали сообщество, не так ли? Сделайте так, чтобы проводить время в нем было забавно. Просто дайте людям возможность веселиться и они ей воспользуются.

Ссылки OpenSolaris:

Структура | Группы сообщества | Проекты | Основная ссылка сайта | Contributing | Достоинства | Процесс разработки | Ссылки разработчикам | Поддержка и группы пользователей | Создатели кода

Книги по открытым исходным текстам, лицензированию и развитию сообщества:

The Cathedral and the Bazaar Eric Raymond | Innovation Happens Elsewhere Ron Goldman, Richard P. Gabriel | Open Source & Free Software Licensing Andrew M. St. Laurent | Open Source Licensing: Software Freedom & Intellectual Property Law Lawrence Rosen | Open Sources: Voices from the Open Source Revolution Oreilly | Open Sources 2.0 The Continuing Evolution Oreilly | Free as in Freedom Richard Stallman

Сообщение обновлено: 12/26/07, 12/27/07, 4/28/08, 5/16/08

构建 OpenSolaris 社区

OpenSolaris 是社区的社区,构建这些社区需要时间和精力。没有其他办法。各自为战的开发代码将会失去一个结识全世界开发人员和用户的机会。目前,最大的 OpenSolaris 社区活跃在 opensolaris.org 上,但即便它现在也是由许多比较小的社区组成的,包括社区组、项目和用户组。现在还有其他新出现的社区开始在新兴市场或地区创办网站,这些都未必与 opensolaris.org 上的操作有直接的联系。OpenSolaris 不再单调地局限于某一个地区。它开始在全球范围内增长和多样化。

Sun 开始将已关闭的开发项目在 opensolaris.org 上公开,或者公开启动一个新项目,许多人会问,“我们如何构建社区?”和/或“我们为什么应该构建社区?”和/或“我们如何增长?”下面我将从非技术角度来回答这些问题。下列问题列表不一定全面(其中一些事情不必做到完美),但如果您想围绕您的资源构建一个人员社区,那就应该考虑这些问题。

  1. 计划和构建:要认识到的第一件事是构建社区是一个积极的、周期的计划和实施过程。一些人回避这一观点。他们相信社区必须有组织地增长。但我怀疑大多数社区实际上是基于积极的参与者增长的,这些参与者吸引新人员,并管理来自不同来源的资源,包括公司、基金和个人。此外,我相信社区构建的概念在很大程度上基于两个简单的原则:(1) 开放社区和 (2) 开放开发。基本上,是开放工作和开放谈话。如果您真想做大,您必须做好三件事情:(1) 始终跟很多人谈话 (2) 将他们包括在您的工作中 (3) 通过创建并将他们的工作与其他人分享,为他们提供回报。那么,工作本身的过程帮助构建社区,因为它生成了更多交流和更多工作。这样您就前进了。但积极的构建开始于计划。制订一个计划,然后开始构建,然后更新计划。不断重复。

  2. 透明度:走出城墙。您不能在防火墙后面构建社区。谈话、列表、源码、二进制文件、文档、工具、人员、基础设施、艺术品,将这些都摆出来,这样每个人都能公平地工作并做出贡献。如果没有聚集任何东西,就不会有人聚集,您就不会有一个社区。如果您只在内部谈话,外面的人甚至不知道您的存在。这是 Sun 的人犯的一个最大的错误。他们试图活在两个世界中。您不能这样做,一定要在开放和封闭之间做一个选择。

  3. 参与:社区将直接参与并构建信任关系。这意味着,做出共享就是人们的生活方式,并且他们期望着更多的机会和开放。您还可以将这个问题看作是社区和方案之间的差别。大多数方案是单向的,通常从公司走向市场。但社区是双向的(实际上是多向的),进来的和出来的几乎一样多。而且,参与实际上是行动,而非谈话。行动的人成为领头羊,他们是声音最高的那些人。您基于对社区的贡献而非在公司的头衔来获得可信度。如果您想让人们都停留,您必须接受这个概念,让人们来参与。

  4. 贡献:定义您寻求的贡献。给出一般的种类和特定示例,期望社区提供更多示例和您没想到的任何东西(实际上,这就是目标)。OpenSolaris 社区成员已经参与的贡献列表有 —— 代码、脚本、测试、帮助、演示、用户组、会议管理、语言门户、翻译、大学课程、图片、广告、培训材料、截屏、视频、网站、wiki、传播、文档、文章、博客、播客、开发过程、教程、输入方法、反馈、语言压缩工具、SCM 工具、重写已关闭的二进制文件、缺陷跟踪系统、shell、分发、书籍、端口、管理等等。尽管其中许多内容是技术方面的,但也有一些不是,而且大多数不涉及内核代码。换句话说,思考您想要鼓励的各种贡献,然后让这个列表开放增长。当有内容开始进入时,指出是谁在做出贡献。您应该要始终引起对贡献的注意,但要以一种低调的方式进行。在大多数社区中,每个人知道谁在真正做出贡献,因为行动胜于豪言壮语,贡献者通常是开放地互相合作。但不妨经常地感谢一下人们。

  5. 演示:大多数技术演示最大的问题在于它们实在太长了,它们太多地集中于描述技术本身。对于课堂或交互式的教程会话,这很不错。但是,构建社区的行为实际上与技术无关。它与人有关。所以,当然可以解释您的技术,但要把更多重点放在开发人员和用户如何参与并为技术和社区做出贡献,以及每个人将如何获益。大多数技术演示只在最后一张幻灯片上列出参与者列表。这是远远不够的。它不能是一个计划外的事情。一定要让它成为核心。

  6. 会议:您必须参加会议。Sun 举行了各种会议,但您还必须参加各种 Sun FOSS 活动。它们都有价值,但彼此不同。此外,不要感让自己感觉必须总是出席会议。参与会话、走廊谈话、BOF 和晚会就像论文答辩一样重要。呆在那里就至关重要。您需要结合面对面和在线交互这两种方式来创建社区感受。但不要错过快速演讲机会!大多数好的会议都提供这些机会。并且在会议列表中添加用户组。您可以加入和/或启动一个用户组。如果启动了一个用户组,可以在酒吧或咖啡厅之类的地方进行活动。开始时是小型的、社交性的,当更多的人为用户组带来了他们自己的体验时,让技术演示的比重慢慢增长。不要认为您必须每个月都要在房间有 100 个人来举行大型技术演示。这是不切实际的。可以尝试每季度举行技术会话,但每月在酒吧会面,享受美食和啤酒,然后讨论会议之间邮件列表中的各种事项。从小型聚会开始,设法通过重复的经历来形成一种传统。过一段时间之后,这一点星星之火将会迅速燎原,而这种文化将让您的用户组团结在一起。

  7. 开发过程和基础设施:如果要构建一个社区,您必须花一些时间来确定支持所有人所需的物理基础设施。它将扩展吗?接受贡献需要什么开发过程?需要什么测试?您是否接受一个沙盒来进行实验?托管项目工件必须使用哪些工具?谁有访问权?这些都取决于是在 opensolaris.org 还是其他站点上托管,以及是要运行社区组、用户组还是开发项目。比较高端的代码贡献者始终不多,而且这些人必须确定他们将使用的工具。但是,非编码人员应该至少能部分地参与这些讨论,所以要构建您的基础设施来容纳各种各样的贡献。

  8. 领导、管理和文化:社区的价值是什么?社会结构是什么样的?您的社区如何自己运行?您将如何做决策?您的领导模型是什么?您如何吸引贡献者的注意?您如何解决冲突?不管是多大规模的群体,走到一起来协作完成某件事时,这些都是需要阐明的问题。当您的社区比较小时,您可以很容易地随意管理,但当您的社区全球增长时,您需要归档想要鼓励的行为,并设置一些规则来规定如何管理。它不必完全是说教和官僚的,但人们需要知道您代表什么,您期望什么。可能需要一个强有力的领导者,但也应该考虑选择其他分布式领导机制。参考其他社区示例,比如 Mozilla、Linux、Apache、Ruby、Java 和 BSD。实际上,还有其他许多这样的社区,这里只列出一些比较大的开源社区。

  9. 大学:如果您想要增长,您需要返回学校并与年轻人闲聊。首先,让您的项目在新兴市场中领先于大学的学生和教授。很明显应该从印度和中国开始。但也不要忽略已建立的市场。要确保您的项目在未来是否能生存下去,大学访问可能是一种最好的方法。绝对不要忽略大学,它应该具有最高的优先级。顺便说一句,这将可能是社区构建操作最有趣的部分。

  10. 全球:以全球角度构建社区。对您的产品有兴趣的开发人员在哪里?那就去那里。有很多地方。在全球旅行时,您将碰到各种各样有趣的语言和文化问题,这将会让您慢下脚步。期待吧。寻找可以帮助您在给定地区构建社区的人们,然后努力将多个地区连接在一起。在全世界不可能只有"一个"社区,所以不要期望每个人都会跟随您(或者理解您)。您将有许多社区,它们将非常不同地表达自己的独立。您的工作是鼓励它们尽量独立,但还要帮助它们连接到其他区域,以便它们可以参与元社区。顺便说一句,这并不容易。但这很必要。在新兴市场发展时,它可能成为真正创新的来源。

  11. 营销:了解您的营销人员。他们可以帮助在会议上,在新闻界/分析师中,在客户会议上正式宣传您的项目。在重要的问题上,他们可以提供您可能没有考虑到的角度,比如商标、品牌、启动、告示、泄漏和市场混乱。您不必知道新闻界怎么评论您,对吗?更多曝光有帮助吗?营销看到而您没有看到的竞争力问题是什么?此外,参与 Sun 偶尔运营的特殊方案,比如编码竞赛和各种活动。Sun 有其他的开发人员计划和网站,它们都欢迎更多的内容和人们的参与。可以以这种方式利用公司的全球资源。顺便说一句,谦虚和诚实是进行有效的开源营销的最好技术。宣传您的产品时切记这一点。

  12. 拥护:这比营销庞大得多,而且也有一些不同。这无关特定营销原则,比如广告、营销、商标、PR 或 AR。相反,它是直接的、未经过滤的诺言,在一定程度上导致积极参与和共享。它关乎通过开放交流来构建社区。当然,它也包括营销,但它还包括工程师和项目经理,以及想要参与的其他任何人。此外,您是这项工作最好的拥护者。所以,您需要承担以您自己的方式进行交流的直接责任。您可以利用其他资源来实现,但最终您必须对自己的底线负责,也就是增长社区并拥护您的技术。不要把这个功能交给其他人。一定要参与。

  13. 法律问题:当您打开已经关闭的代码和工具时,这主要是 Sun 内部的事情。但甚至当您公开时,您需要考虑商标、版权、贡献者协议、许可、来源分析等。这些事情不一定会帮助您的社区增长,但如果完全不考虑这些事情,它们一定在一瞬间毁掉已有的一切。联系您的律师。告诉他们有关社区的需求,让他们告诉您什么是财产法。在这里,教育应该是双向进行的。

  14. 项目管理:随着社区增长,它肯定会包含全世界的多个工程项目和用户活动。谁将运行这些复杂的操作?谁将管理计划并保持指标和路线图的更新?谁将警告您肯定将遇到的组织纷争?所以,您应该要找一个优秀的项目经理来解决这些问题。正如工程师应该开放构建社区一样,项目经理也应该这样做。如果在尽可能广阔的环境中查看您的项目,您将看到在防火墙内部和外部它涉及到许多不同的原则,这将影响到构建社区的方式。 

  15. 趣味性:最后,构建社区最终是一个社会练习,所以人们应该在参与的时候获得乐趣。您想要把人们吸引到社区,对吗?您想要鼓励人们停留,对吗?让闲逛变得有趣。只要给人们获取乐趣的机会,他们就一定会抓住的。

OpenSolaris 参考:

Constitution | Community Groups | Projects | Website lead reference | Contributing | Values | Development Process | Development Reference | Advocacy & User Groups | Code Contributors


The Cathedral and the Bazaar Eric Raymond | Innovation Happens Elsewhere Ron Goldman, Richard P. Gabriel | Open Source & Free Software Licensing Andrew M. St. Laurent | Open Source Licensing: Software Freedom & Intellectual Property Law Lawrence Rosen | Open Sources: Voices from the Open Source Revolution Oreilly | Open Sources 2.0 The Continuing Evolution Oreilly | Free as in Freedom Richard Stallman

文章更新:12/26/07, 12/27/07, 4/28/08, 5/16/08

Monday Jun 02, 2008

Construyendo comunidades OpenSolaris

OpenSolaris es una comunidad de comunidades, y la construcción de una comunidad de estas características es una tarea que requiere tiempo y esfuerzo. No hay otro modo. Arrojar un código por encima del muro y alejarse caminando es perder la oportunidad de lograr la participación de desarrolladores y usuarios de todo el mundo. Actualmente, la mayor comunidad de OpenSolaris se encuentra en opensolaris.org, pero incluso ella se compone de comunidades más pequeñas en forma de grupos comunitarios, proyectos y grupos de usuarios. Hay también otras comunidades incipientes puestas en marcha a partir de sitios web de mercados emergentes o incluso de distribuciones que no necesariamente han de tener conexiones directas con la operaciones de opensolaris.org. OpenSolaris ha dejado de ser una comunidad monolítica y basada en una geografía. Está creciendo y se diversifica globalmente.

A medida que Sun pasa de proyectos de desarrollo cerrado a abierto en opensolaris.org, o acaba de iniciar en abierto nuevos proyectos comenzando desde cero, mucha gente se pregunta, "¿cómo podemos construir una comunidad?", o "por qué debemos construir una comunidad?", o "¿cómo podemos crecer?" Bueno, aquí van mis respuestas a esas preguntas desde un punto de vista no técnico. La lista de temas siguientes no es necesariamente exhaustiva (ni tenemos necesariamente que hacer alguna de esas cosas especialmente bien), pero es un conjunto de temas a tener en cuenta por quien desee construir una comunidad de personas en torno a un proyecto.

Construcción de la comunidad
  1. Planificación y construcción: Lo primero importante consiste en asumir que construir una comunidad es un proceso cíclico de planificación e implementación activas. Algunas personas se muestran reacias a este concepto, porque consideran que las comunidades deben crecer orgánicamente. No obstante, sospecho que la mayoría de las comunidades crece realmente sobre la base de participantes activos que directamente enganchan a otras personas y gestionan los recursos de diversas fuentes, como empresas, fundaciones y particulares. También creo que el concepto de construcción de una comunidad se basa fundamentalmente en dos principios básicos: (1) comunicaciones abiertas y (2) desarrollo abierto. Básicamente, trabajar sin tapujos y hablar sin tapujos. Y si realmente se desea crecer mucho, hay tres cosas que deben hacerse realmente bien: (1) hablar con mucha gente todo el tiempo, (2) incluir a esa gente en el trabajo propio y (3) ofrecer los medios necesarios para que esa gente pueda contribuir creando y compartiendo su trabajo con otros. El mismo proceso de trabajo ayuda a construir la comunidad porque genera más comunicaciones y más trabajo. Y todo en torno a un proyecto. Pero toda construcción activa comienza con un plan. Escriba uno. Comience la construcción. Actualice el plan. Repita el proceso.

  2. Transparencia: Salga al exterior. No se puede construir una comunidad desde detrás de un muro. Conversaciones, listas, código fuente, binarios, documentación, herramientas, personas, infraestructuras, obras de arte -- haga aflorar todo esto para que cada persona tenga una buena oportunidad de participar y contribuir. Si no hay nada que recoger, nadie recogerá nada y no habrá forma de construir una comunidad. Y si se limita a hablar dentro, nadie de fuera sabrá siquiera que existe. Es el único gran error que cometen las gentes de Sun. Tratan de vivir en dos mundos. Y no se puede. Hay que decidirse. Se es abierto o no se es.

  3. Participación: Las comunidades se basan en la participación directa y en la construcción de relaciones de confianza. Esto significa que la gente se gana en función de sus contribuciones y que hay expectativas en cuanto a oportunidades y apertura. También se puede contemplar esta cuestión como la distinción entre una comunidad y un programa. La mayoría de los programas tienen un único sentido que, por lo general, va de la empresa al mercado. Pero las comunidades tienen dos sentidos (en realidad tienen muchos) y sirven tanto para ir como para venir. Y luego está que la participación supone actuar, no hablar. Están los que hay que dirigir y aquellos otros cuya voz se oye por encima de la de los demás. La credibilidad se gana a partir del trabajo con el que se contribuye a la comunidad, no con el cargo con el que se le conoce en la empresa. Si desea que la gente se reúna a su alrededor, deberá asumir este concepto y facilitarles la participación.

  4. Contribuciones: Defina las contribuciones que pretende conseguir. Ofrezca categorías especiales y ejemplos específicos y espere que la comunidad le devuelva más ejemplos y más cosas de las que haya podido pensar (ese es el auténtico objetivo). Aquí va una lista de las contribuciones en las que han participado los miembros de la comunidad OpenSolaris -- códigos, scripts, pruebas, ayudas, presentaciones, grupos de usuarios, gestión de conferencias, portales de idiomas, traducciones, cursos universitarios, gráficos, publicidad, materiales de formación, screencasts, vídeos, sitios web, wikis, evangelización, documentación, artículos, blogs, podcasts, procesos de desarrollo, tutoriales, métodos de introducción de datos, información, herramientas de compresión de lenguaje, herramientas de SCM, reescritura cerrada de binarios, sistema de seguimiento de defectos, shells, distribuciones, libros, puertos, gestión de asuntos públicos, etc. Aunque muchos de estos temas son técnicos, otros no lo son y la mayoría no implican el uso de código kernel. En otras palabras, piense en la cantidad de contribuciones que desea impulsar y deje que la lista crezca sin trabas. Más tarde, cuando las cosas comiencen a llegar, destaque a las personas que están contribuyendo. Siempre es bueno llamar la atención sobre las contribuciones de los demás, pero hágalo de forma discreta. En la mayoría de las comunidades, cada uno sabe quien contribuye de verdad porque el trabajo habla más alto que las palabras y, por lo general, los contribuyentes suelen trabajar codo con codo y sin trabas. Pero a nadie le molesta que le den las gracias de cuando en cuando.

  5. Presentaciones: El mayor problema con la mayoría de presentaciones técnicas es que son dolorosamente largas y se centran demasiado en la descripción de la propia tecnología. Eso está bien para una clase o una sesión de tutoría interactiva, pero el acto de construir una comunidad no tiene nada que ver con la tecnología. Va de personas. Así que explique la tecnología, desde luego, pero céntrese más en cómo conseguir que los desarrolladores y los usuarios participen y contribuyan, a la tecnología y a la comunidad, y en cómo hacer que todos se beneficien de sus ventajas. La mayoría de las presentaciones técnicas tienen una diapositiva al final en la que se enumeran las listas a las pueden adherirse. No es suficiente. No puede ser algo en lo que pensar después. Debe ser el núcleo.

  6. Conferencias: Tiene que asistir a conferencias. Sun incluye varias conferencias, pero también necesita acudir a eventos que no sean FOSS de Sun. Todos tienen valor pero todos son diferentes. Por otra parte, no siempre siente que está presente en las conferencias. Participar en las sesiones, charlas de pasillo, BOF y fiestas es tan importante como asistir a la presentación de documentos oficiales. Sólo el hecho de estar allí ya es importante. Necesitará una mezcla de interacciones cara a cara y en línea para crear un sentimiento de comunidad. Y no hay que perder la oportunidad de tener una charla rápida y chispeante. La mayoría de las buenas conferencias ofrecen estas oportunidades. Y permiten añadir grupos de usuarios a la lista de conferencias. Vaya a ellas, inícielas o haga las dos cosas. Si empieza con un grupo de usuarios, es preferible hacerlo en un bar, una cafetería o un sitio parecido. Comience de forma breve y sociable y deje que las presentaciones técnicas crezcan lentamente a medida que las demás personas vayan aportando sus experiencias al grupo. Y no crea que siempre tiene que tener una gran presentación técnica con 100 personas en la sala cada mes. No es realista. Pueden ser sesiones técnicas trimestrales con encuentros mensuales en un bar para comer o tomar una cerveza y tratar los temas en una lista de correo entre reuniones. Comience de forma breve y busque la forma de construir una tradición a través de experiencias repetidas. Con el tiempo, se desarrollará pronto una cierta cultura que es el pegamento que mantendrá unido el grupo de usuarios.

  7. Proceso de desarrollo e infraestructura: Si se dispone a construir una comunidad, debería invertir más tiempo en averiguar la infraestructura física que necesitará para dar apoyo a todas las personas que quiere. ¿Se va a escalar? ¿Qué proceso de desarrollo se necesita para aceptar contribuciones? ¿Qué prueba se necesita? ¿Ofrece una caja de arena para hacer experimentos? ¿Qué herramientas son necesarias para albergar los artefactos del proyecto? ¿Quién tiene acceso? Todo esto depende de si se quiere acoger a opensolaris.org o a otro sitio, y si se está ejecutando un grupo comunitario, un grupo de usuarios o un proyecto de desarrollo. Los contribuyentes al código final más alto será siempre un grupo pequeño, pero son justamente esos chicos los que tienen que descubrir las herramientas que van a hacer falta. Sin embargo, los no codificadores deberían participar en esos debates, al menos parcialmente, de forma que la infraestructura se construya para acomodar una amplia variedad de contribuciones.

  8. Liderazgo, gobernabilidad, cultura: ¿Cuáles son los valores de la comunidad? ¿Qué estructura social tendrá? ¿Cómo se gestionará la propia comunidad? ¿Cómo se tomarán las decisiones? ¿Cual es su modelo de liderazgo? ¿Cómo va a llamar la atención de los contribuyentes? ¿Cómo resuelve los conflictos? Estas son las preguntas a la que deberá hacer frente cada vez que un grupo numeroso de personas se reúna para colaborar juntas en algo. Cuando se es pequeño, esto se puede gestionar fácilmente en la propia cabeza, pero cuando se crece a nivel mundial es necesario documentar el comportamiento que se desea fomentar y fijar algunas normas sobre cómo manejarlo. No tiene que ser persuasivo y burocrático, pero la gente necesita saber lo que se defiende y lo que se espera. Tal vez un solo líder fuerte sea apropiado, pero puede ser necesario considerar otras opciones para distribuir mecanismos de liderazgo. Busque en otras comunidades como Mozilla, Linux, Apache, Ruby, Java y BSD para ver ejemplos. En realidad, hay otras muchas pero estas son algunas de las comunidades con software de código abierto más grandes.

  9. Universidades: Si se quiere crecer es necesario volver a la escuela y pasar el tiempo con los jóvenes. Ponga su proyecto delante de estudiantes y profesores universitarios de los mercados emergentes en primer lugar. Comience por India y China por razones obvias. Pero sin olvidar los mercados ya establecidos. Las visitas a las universidades son probablemente la forma más sencilla de garantizar que el proyecto tiene posibilidades de sobrevivir en el futuro. Descuidar las universidades no es una opción. Necesitan tener una prioridad absoluta. A propósito, esta será probablemente la parte más divertida de las operaciones de construcción de la comunidad.

  10. Global: Construya la comunidad con una perspectiva global en la mente. ¿Dónde están los desarrolladores que estarían interesados en su proyecto? Vaya allí. A menudo. Cuando se va a nivel global, sin embargo, uno se interesa por todo tipo de idiomas y asuntos culturales que relentizarán el proceso. Es de esperar que ocurra. Busque gente que pueda ayudar a construir la comunidad en un lugar determinado, y trabaje luego por conectar varias ubicaciones entre sí. No va a tener "una" comunidad alrededor del mundo, de modo que no espere que nadie le siga sin más (ni siquiera que le entiendan). Tendrá muchas comunidades y cada una expresará sus propias experiencias de formas bien distintas. Su trabajo consiste en animarlos para que sean tan independientes como sea necesario, pero también en ayudarles a conectar con otras regiones para que puedan participar en una comunidad destino. Por cierto que no es nada fácil. Pero es necesario. Y puede ser una fuente de contribuciones verdaderamente innovadoras a medida que se van desarrollando los mercados emergentes.

  11. Marketing: Conozca a su gente de marketing. Pueden ayudarle a dar a conocer oficialmente su proyecto en conferencias o en operaciones de prensa y análisis o en reuniones con clientes. Y pueden ofrecer una perspectiva sobre cuestiones importante que se le pueden haber escapado, como marcas comerciales, mercadotecnia, lanzamientos, noticias, filtraciones y perturbaciones del mercado. No necesita saber lo que dice la prensa sobre usted, ¿verdad? ¿Le ayudaría exponerse más? ¿Qué cuestiones de marketing competitivo observa que no tiene? Asimismo, participe en los programas especiales que Sun ejecuta ocasionalmente, como las pruebas de codificación y los eventos. Sun cuenta con otros desarrolladores de programas y sitios web que dan la bienvenida a todos los contenidos y participantes. Aproveche los recursos globales de la compañia en este sentido. Por cierto, la humildad y la honestidad son las mejores técnicas para hacer una comercialización de código abierto efectiva. Recuerde siempre que usted sabe cómo anunciar sus proyectos.

  12. Promoción: Es algo mucho mayor que el marketing y algo diferente también. No se trata de disciplinas específicas de marketing, como pueden ser publicidad, comercialización, mercadotecnia, relaciones públicas o AR. Por el contrario, es un compromiso directo y sin filtrar a un nivel que conduce a la participación y la contribución activas. Va de la construcción de una comunidad por medio de comunicaciones abiertas. Ahora incluye personal de marketing, por supuesto, pero también ingenieros y gestores de proyectos y a cualquier otra persona que quiera involucrarse. Y además usted es el mejor promotor de su trabajo, por lo que necesita asumir la responsabilidad directa de comunicarse en la forma que mejor pueda. Es posible que aproveche otros recursos, pero no deja de ser el responsable último de su propia línea de fondo que, en este caso, significa el crecimiento de su comunidad y la promoción de su tecnología. No se limite a dejar esta función en manos de otro y marcharse. Participe.

  13. Asuntos legales: En su mayoría son temas internos de Sun como la apertura de los códigos y las herramientas cerrados. Pero incluso ahora que se han abierto, es necesario considerar las marcas comerciales, copyright, acuerdos con los contribuyentes, concesión de licencias, análisis de fuentes, etc. Estas cosas no ayudan necesariamente al crecimiento de la comunidad, pero pueden impedir que las cosas se disparen si no se les presta la debida atención. Conozca a sus abogados. Hábleles de las necesidades de la comunidad y pídales que le enseñen la realidad de la ley. En este punto, la información debe ir en ambos sentidos.

  14. Gestión de proyectos: A medida que su comunidad vaya creciendo es seguro que contendrá múltiples proyectos de ingeniería y actividades de usuarios de todo el mundo. ¿Quién ejecutará estas operaciones tan complejas? ¿Quién gestionará el plan y mantendrá actualizados las cifras y los planes de trabajo? ¿Quién le advertirá de la organización política que encontrará con toda seguridad? Por lo tanto, es posible que quiera cazar junto a un buen gestor de proyectos que le facilite las cosas. Al igual que los ingenieros se basan en el código abierto para construir la comunidad, los gestores de proyectos deberían hacer lo propio. Si se mira el proyecto desde un contexto lo más amplio posible, podrá apreciar que toca muchas disciplinas diferentes, tanto dentro como fuera del muro, y que afecta al modo en que construye su comunidad.

  15. Pasarlo bien: Para terminar, construir una comunidad es un ejercicio social en última instancia donde la gente debería pasarlo bien mientras participa. Quiere atraer a la gente a su comunidad, ¿verdad? Quiere animar a la gente para que se quede, ¿verdad? Pues haga que se lo pasen bien. Ofrezca a la gente la posibilidad de divertirse y se divertirá.

Referencias de OpenSolaris:

Constitución | Grupos comunitarios | Proyectos | Referencia dirigida a sitio web | Contribución | Valores | Proceso de desarrollo | Referencia de desarrollo | Promoción y grupos de usuarios | Contribuyentes de código

Libros sobre Open Source, concesión de licencias y desarrollo de comunidades:

The Cathedral and the Bazaar Eric Raymond | Innovation Happens Elsewhere Ron Goldman, Richard P. Gabriel | Open Source & Free Software Licensing Andrew M. St. Laurent | Open Source Licensing: Software Freedom & Intellectual Property Law Lawrence Rosen | Open Sources: Voices from the Open Source Revolution Oreilly | Open Sources 2.0 The Continuing Evolution Oreilly | Free as in Freedom Richard Stallman

Publicar actualización: 12/26/07, 12/27/07, 4/28/08, 5/16/08

Criação de comunidades OpenSolaris

OpenSolaris é uma comunidade de comunidades, e a criação dessas comunidades requer tempo e esforço. Não existe outra maneira. Passar código adiante e afastar-se é perder a oportunidade de envolver desenvolvedores e usuários do mundo todo. No momento, a maior comunidade OpenSolaris se encontra no opensolaris.org, mas até mesmo ela agora é composta de muitas comunidades menores, na forma de grupos de comunidades, projetos e grupo de usuários. Também existem outras comunidades florescentes que estão iniciando suas atividades com sites em mercados emergentes e mesmo distribuições inteiras, que não têm necessariamente conexões diretas com as operações do opensolaris.org. A comunidade OpenSolaris já não é mais monolítica e baseada em uma única região geográfica. Ela está crescendo e se diversificando em todo o mundo.

À medida que a Sun faz a transição de projetos de desenvolvimento fechados para abertos no opensolaris.org ou simplesmente inicia novos projetos abertos desde o início, muitas pessoas perguntam: "Como criar uma comunidade?" e/ou "Por que criar uma comunidade?" e/ou "Como podemos crescer?". Bem, eis aqui minha tentativa de responder a essas perguntas de um ponto de vista não técnico. A lista de questões abaixo não é necessariamente exaustiva (e não somos necessariamente grandes especialistas em algumas dessas atividades). Trata-se apenas de um conjunto de questões para consideração caso você deseje criar uma comunidade de pessoas em torno do seu projeto.

Criação de uma comunidade
  1. Planejamento e criação: a primeira coisa a ter em mente é que a criação de uma comunidade é um processo ativo e cíclico de planejamento e de implementação. Algumas pessoas se mostram renitentes a essa noção, porque acham que as comunidades devem crescer de maneira orgânica. Porém, suspeito que, na verdade, a maioria das comunidades cresce em função da mobilização direta dos participantes ativos para atrair novas pessoas, bem como do gerenciamento de recursos de diversas fontes, sejam elas corporações, fundações ou indivíduos. Além disso, acredito que o conceito de criação de comunidade se baseia fundamentalmente em dois princípios simples: (1) comunicações abertas e (2) desenvolvimento aberto. Basicamente, trabalhar de modo aberto e falar de modo aberto. E, se você realmente desejar crescer, precisará fazer três coisas muito bem: (1) conversar com muitas pessoas o tempo todo, (2) incluir essas pessoas no seu trabalho e (3) proporcionar os meios necessários para que elas possa contribuir criando e compartilhando seu trabalho com outras pessoas. Dessa forma, o próprio processo de trabalho ajudará a criar a comunidade porque gera mais comunicações e mais trabalho. E tudo em torno de um projeto. Mas toda criação ativa começa com um plano. Escreva um. Depois, comece a criar. Em seguida, atualize o plano. Repita o processo.

  2. Transparência: saia em campo. Não é possível criar uma comunidade atrás de um firewall. Conversas, listas, código-fonte, binários, documentação, ferramentas, pessoas, infra-estrutura, arte-final -- disponibilize tudo isso para que cada pessoa tenha uma boa oportunidade de participar e contribuir. Se não houver nada em torno do que juntar forças, ninguém se concentrará para um esforço e você não terá uma comunidade. E, se você se limitar a conversar apenas com o pessoal interno, ninguém de fora saberá sequer da sua existência. Esse é o único grande erro que as pessoas da Sun cometem. Elas tentam viver em dois mundos. E isso não é possível. É preciso decidir-se: ser aberto ou não.

  3. Participação: as comunidades se baseiam na participação direta e na criação de relações de confiança. Isso significa que as pessoas conquistam seu espaço em função de suas contribuições, e existem expectativas em termos de oportunidades e de abertura. Também podemos analisar essa questão como a distinção entre uma comunidade e um programa. A maioria dos programas são unidirecionais, geralmente de uma empresa para um mercado. As comunidades, por outro lado, são bidirecionais (multidirecionais, na verdade) e envolvem tanto aceitar quanto dar contribuições. Além disso, participação é, na verdade, uma questão de fazer, e não de falar. Aqueles que fazem chegam à liderança, e essas são as pessoas que se destacam das demais. Você ganha credibilidade com base no trabalho que contribui para a comunidade, e não no cargo que ocupa na sua empresa. Se desejar manter as pessoas ao seu redor, você precisará adotar esse conceito e viabilizar a participação delas.

  4. Contribuições: defina as contribuições que você está procurando. Forneça categorias gerais e exemplos específicos e espere que a comunidade ofereça mais exemplos e elementos nos quais você não tinha nem pensado (esse é o real objetivo). Aqui está uma lista de contribuições nas quais os membros da comunidade OpenSolaris estão envolvidos: código, scripts, testes, ajuda, apresentações, grupos de usuários, gerenciamento de conferências, portais de idiomas, traduções, cursos universitários, elementos gráficos, anúncios, material de treinamento, screencasts, vídeos, sites, wikis, evangelização, documentação, artigos, blogs, podcasts, processos de desenvolvimento, tutoriais, métodos de entrada, feedback, ferramentas de compactação de linguagem, ferramentas de SCM, regravação de binários fechados, sistema de rastreamento de defeitos, shells, distribuições, manuais, portas, governança etc. Embora muitos desses itens sejam técnicos, alguns não são, e a maioria não envolve código de kernel. Em outras palavras, pense em uma variedade de contribuições que você deseja estimular e deixe essa lista crescer abertamente. Depois, quando os resultados começarem a aparecer, destaque as pessoas que estão dando contribuições. Convém sempre chamar a atenção para as contribuições, mas fazer isso com discrição. Na maioria das comunidades, todos sabem quem está realmente contribuindo porque o trabalho fala mais alto do que as palavras e, de modo geral, os colaboradores trabalham em conjunto abertamente. Mas não custa nada agradecer às pessoas de vez em quando.

  5. Apresentações: o maior problema com a maioria das apresentações técnicas é que são exageradamente longas e se concentram demais em descrever a própria tecnologia. Isso funciona bem em uma sala de aula ou sessão de tutorial interativo. Mas o ato de criar uma comunidade não tem, na realidade, nada a ver com tecnologia. Tem a ver com pessoas. Dessa maneira, explique a tecnologia, é claro, mas se concentre mais em como conseguir que desenvolvedores e usuários participem e contribuam para a tecnologia e a comunidade, e em como isso beneficia a todos. A maioria das apresentações técnicas tem um slide no final com uma relação de listas às quais você pode se associar. Isso não basta. Não pode ser algo para consideração posterior. Deve ser uma prioridade.

  6. Conferências: você precisa freqüentar conferências. A Sun realiza várias conferências, mas você também precisa participar de eventos FOSS não realizados pela Sun. Ambos têm valor, mas são diferentes. Além disso, não se sinta na obrigação de sempre fazer apresentações em conferências. Participar de sessões, conversas no saguão, BOFs e festas é tão importante quanto apresentar artigos formais. A sua mera presença é fundamental. É preciso uma combinação de interações on-line e pessoais para criar um sentimento de comunidade. Mas não perca a oportunidade de travar conversas rápidas! A maioria das boas conferências oferecem essas oportunidades. Além disso, inclua grupos de usuários na sua lista de conferências. Vá até eles, dê início a eles ou faça as duas coisas. Ao iniciar um grupo de usuários, faça isso em um bar, café ou algo do gênero. Comece aos poucos e de uma forma social e deixe as apresentações técnicas crescerem lentamente à medida que mais pessoas trouxerem suas próprias experiências para o grupo. Além disso, não se sinta na obrigação de fazer sempre uma grande apresentação técnica com 100 pessoas na sala a cada mês. Isso está fora da realidade. Experimente realizar sessões técnicas trimestrais, mas se reúna mensalmente em um bar para comer e beber cerveja e, entre as reuniões, discuta os assuntos da pauta. Comece aos poucos e procure maneiras de criar uma tradição por meio de experiências repetidas. Uma pequena cultura logo se desenvolverá ao longo do tempo, e esse é o elo que manterá seu grupo de usuários unido.

  7. Infra-estrutura e processo de desenvolvimento: se for criar uma comunidade, você precisará passar algum tempo averiguando a infra-estrutura física necessária para dar suporte a todas as pessoas desejadas. Ela se expandirá? Que processo de desenvolvimento é necessário para aceitar contribuições? Quais testes são necessários? Você oferece uma sandbox para experimentação? Que ferramentas são necessárias para hospedar os artefatos do projeto? Quem tem acesso? Isso tudo depende de você querer hospedar no opensolaris.org ou em outro site, e se administrará um grupo de comunidades, um grupo de usuários ou um projeto de desenvolvimento. O número de colaboradores de código mais avançado será sempre pequeno, mas são justamente essas pessoas que precisam descobrir as ferramentas de que necessitam. No entanto, não-codificadores devem participar dessas discussões, pelo menos parcialmente, para que a infra-estrutura seja criada de forma a acomodar uma ampla variedade de contribuições.

  8. Liderança, governança, cultura: quais são os valores da sua comunidade? Como será a estrutura social? Como a comunidade se administrará? Como você tomará decisões? Qual é o seu modelo de liderança? Como você chamará a atenção dos colaboradores? Como você resolve conflitos? Essas são perguntas que precisam ser respondidas sempre que qualquer grupo grande de pessoas se reúne para colaborar em algo. Quando você é pequeno, consegue gerenciar isso com facilidade de cabeça, mas quando atinge um crescimento global, precisa documentar o comportamento que deseja incentivar, bem como definir algumas regras com relação a como gerenciar tudo isso. Esse processo não precisa ser prolixo e burocrático, mas as pessoas precisam saber o que você pretende e espera. Talvez um único líder forte seja adequado, mas convém considerar também outras opções de mecanismos de liderança distribuída. Procure exemplos em outras comunidades como Mozilla, Linux, Apache, Ruby, Java e BSDs. Na verdade, existem muitas outras, mas essas são algumas das maiores comunidades de software de código-fonte aberto.

  9. Universidades: se desejar crescer, você precisará voltar à escola e passar o tempo com jovens. Primeiramente, apresente seu projeto a alunos e professores universitários de mercados emergentes. Por motivos óbvios, comece pela Índia e pela China. Mas não se esqueça dos mercados estabelecidos. Visitas a universidades talvez sejam a melhor maneira de garantir que seu projeto tenha possibilidades de sobreviver no futuro. Negligenciar universidades está fora de questão. Isso precisa ter prioridade máxima. A propósito, essa será provavelmente a parte mais divertida das operações de criação da comunidade.

  10. Global: crie sua comunidade com uma perspectiva global em mente. Onde estão os desenvolvedores que estariam interessados no seu projeto? Vá até eles. Inúmeras vezes. Contudo, ao se tornar global, você se deparará com todos os tipos de questões culturais e lingüísticas interessantes que irão desacelerar o processo. Isso é esperado. Procure pessoas que possam ajudar a criar a comunidade em um determinado local e, depois, trabalhe para conectar vários locais entre si. Você não terá uma "única" comunidade no mundo todo, portanto, não espere que todos simplesmente o sigam (ou mesmo o entendam). Você terá muitas comunidades e elas expressarão sua própria independência de formas bem diferentes. Seu trabalho consiste em incentivá-las a ser independentes na medida necessária, mas também ajudá-las a se conectarem a outras regiões, de forma que possam participar da metacomunidade. Isso não é, por sinal, nada fácil, mas é necessário, além de poder ser uma fonte de contribuições realmente inovadores à medida que os mercados emergentes se desenvolvem.

  11. Marketing: conheça sua equipe de marketing. Ela pode ajudar a divulgar o seu projeto formalmente em conferências, na imprensa, junto a analistas ou em reuniões com clientes. Além disso, essas pessoas podem oferecer uma perspectiva que você talvez não tenha considerado com relação a problemas importantes, como marcas comerciais, branding, lançamentos, anúncios, vazamentos e instabilidades do mercado. Você não sabe necessariamente o que a imprensa está dizendo a seu respeito, certo? Será que uma maior exposição ajudaria? Quais são as questões competitivas que o marketing consegue perceber e você, não? Além disso, participe de programas especiais que a Sun realiza ocasionalmente, como eventos e concursos de codificação. A Sun tem outros programas para desenvolvedores e sites que aceitam conteúdo e participação de bom grado. Aproveite os recursos globais da empresa nesse sentido. A propósito, humildade e honestidade são as melhores técnicas para um marketing eficaz do código-fonte aberto. Lembre-se disso ao divulgar seus projetos.

  12. Promoção: isso é algo muito maior do que o marketing, além de ser também um pouco diferente. Não se trata de disciplinas de marketing específicas, como propaganda, comercialização, branding, RP ou AR. Em vez disso, tudo gira em torno do envolvimento direto não filtrado em um nível que leva à contribuição e à participação ativas. Trata-se da criação de uma comunidade por meio de comunicações abertas. Agora, isso certamente inclui marketing, mas também inclui gerentes de projetos e de engenharia, bem como qualquer outra pessoa que deseje se envolver. Além disso, você é o melhor promotor do seu trabalho, logo, precisa assumir a responsabilidade direta pela comunicação da sua própria maneira. Você aproveitará outros recursos para isso, mas, em última análise, você é responsável pelos seus próprios resultados, o que, nesse caso, significa expandir sua comunidade e promover sua tecnologia. Não se limite a simplesmente atribuir essa função a outra pessoa e afastar-se. Envolva-se.

  13. Assuntos legais: essa é, predominantemente, uma questão interna à Sun, à medida que você abre ferramentas e códigos anteriormente fechados. Mas mesmo quando um projeto é aberto, é preciso considerar marcas comerciais, direitos autorais, acordos com colaboradores, licenciamento, análise de fontes etc. Esses itens não ajudarão necessariamente a comunidade a crescer, mas sem dúvida poderão parar tudo rapidamente caso não sejam levados em consideração. Conheça seus advogados. Informe a eles as necessidades da comunidade e peça-lhes que lhe mostrem as realidades da lei. A informação aqui deve ser bidirecional.

  14. Gerência de projetos: à medida que sua comunidade crescer, ela certamente envolverá vários projetos de engenharia e atividades de usuários do mundo todo. Quem administrará essas operações tão complexas? Quem gerenciará o plano e manterá os indicadores e os planos de ação atualizados? Quem o alertará para a política organizacional com a qual você certamente se defrontará? Assim, convém procurar um bom gerente de projetos para ajudar a facilitar o processo. Da mesma forma que engenheiros devem criar a comunidade abertamente, os gerentes de projetos também devem fazer o mesmo. Se analisar seu projeto no contexto mais amplo possível, você verá que envolve as mais diversas disciplinas, dentro e fora do firewall, e isso afetará a sua maneira de criar a comunidade. 

  15. Divirta-se: por fim, criar uma comunidade é, no final das contas, um exercício social, em que a participação deve ser uma diversão para as pessoas. Você deseja atrair pessoas para sua comunidade, certo? Deseja incentivar as pessoas para que permaneçam na sua comunidade, certo? Torne a participação uma diversão. Ofereça às pessoas a oportunidade de se divertirem, e elas se divertirão.

Referências do OpenSolaris:

Constituição | Grupos de comunidades | Projetos | Referência de sites de liderança | Contribuição | Valores | Processo de desenvolvimento | Referência de desenvolvimento | Promoção e grupos de usuários | Contribuições de código

Livros sobre código-fonte aberto, licenciamento e desenvolvimento de comunidade

The Cathedral and the Bazaar Eric Raymond | Innovation Happens Elsewhere Ron Goldman, Richard P. Gabriel | Open Source & Free Software Licensing Andrew M. St. Laurent | Open Source Licensing: Software Freedom & Intellectual Property Law Lawrence Rosen | Open Sources: Voices from the Open Source Revolution Oreilly | Open Sources 2.0 The Continuing Evolution Oreilly | Free as in Freedom Richard Stallman

Atualizações posteriores: 12/26/07, 12/27/07, 4/28/08, 5/16/08

Thursday May 15, 2008

Community First

Why Twitter Matters: "How could tiny Twitter ever become such a titan? It's not the core technology, which is simple, but instead the community." -- Stephen Baker, BusinessWeek

Wednesday May 14, 2008

Helping Out

It's great to see the Sun community offering resources to help the people affected by the natural disasters in Myanmar and China. Sun's relief drive is year round, of course, but there are two immediate needs. Those who are far away watching these horrible events unfold need not feel helpless. Financial contributions are the best way help to get food, medicine, and supplies into the hands of rescue workers. Also, as employees contribute, the Sun Microsystems Foundation has a matching funds program. All the best to everyone out there. And remember, these things can happen to anyone, anywhere, any time.

Sunday Apr 06, 2008


The mystery box: "No community is best served when only the elite have control." -- J.J. Abrams at TED encouraging anyone to make a movie.

Friday Dec 21, 2007

Building OpenSolaris Communities

OpenSolaris is a community of communities, and building those communities takes time and effort. No way around it. Throwing code over the wall and walking away is a lost opportunity to engage developers and users around the world. Currently, the biggest OpenSolaris community lives on opensolaris.org, but even that community is now made up of many smaller communities in the form of Community Groups, Projects, and User Groups. And then there are other nascent communities starting up with websites in emerging markets and even entire distributions that don't necessarily have direct connections to the operations on opensolaris.org. OpenSolaris is no longer monolithic and based on one geography. It's growing and diversifying globally.

As Sun moves closed development projects to the open on opensolaris.org or just starts new projects from scratch in the open, many people ask, "How do we build a community?" and/or "Why should we build a community?" and/or "How do we grow?" Well, here's my shot at answering those questions from a non-technical perspective. The list of issues below is not necessarily comprehensive (and we don't necessarily do some of these things particularly well), but it's just a set of issues to consider if you want to build a community of people around your stuff.

Building a Community
  1. Planning & Building: The first thing to realize is that building a community is an active and cyclical process of planning and implementation. Some people balk at that notion. They believe communities ought to grow organically. But I suspect most communities actually grow based on active participants directly engaging new people and managing resources from diverse sources including corporate, foundation, and individual. Also, I believe the concept of community building is based largely on two simple principles: (1) open communications and (2) open development. Basically, working in the open and talking in the open. And if you really want to grow big, you'll need to do three things really well: (1) talk to a lot of people all the time, (2) include them in your work, and (3) provide ways for them to contribute back by creating and sharing their work with others. Then the process of working itself helps build community because it generates more communications and more work. And around you go. But active building starts with a plan. Write one. Then start building. Then update your plan. Repeat.

  2. Transparency: Get outside. You can't build a community from behind a firewall. Conversations, lists, source code, binaries, documentation, tools, people, infrastructure, artwork -- get it outside so everyone has a fair shot at engaging and contributing. If there is nothing to gather around, then no one will gather and you will not have a community. And if you are only talking inside, no one on the outside will know you even exist. This is the single biggest mistake people at Sun make. They try to live in two worlds. You can't. Decide. Are you open or not.

  3. Participation: Communities are about direct participation and the building of trust relationships. That means people earn their way based on their contributions, and there is an expectation of opportunity and openness. You can also look at this issue as the distinction between a community and a program. Most programs are one way -- usually going from a company to a market. But communities are two ways (many ways, actually), and involve just as much coming in as going out. Also, participation is really about doing, not talking. Those who do get to lead, and those are the people whose voice is heard above all others. You earn your credibility based on the work you contribute to the community, not the title you have from your company. If you want people to stick around, you will have to embrace this concept and enable them to participate.

  4. Contributions: Define the contributions you are looking for. Give general categories and specific examples and expect the community to offer more examples and things you hadn't even thought of (that's the goal, actually). Here is a list of contributions that OpenSolaris community members have been involved with -- code, scripts, tests, help, presentations, user groups, conference management, language portals, translations, university courses, graphics, ads, training materials, screencasts, videos, websites, wikis, evangelism, documentation, articles, blogs, podcasts, development process, tutorials, input methods, feedback, language compression tools, SCM tools, re-writing closed binaries, defect tracking system, shells, distributions, books, ports, governance. Etc. Although many of those items are technical, some are not, and most do not involve kernel code. In other words, think about a variety of contributions you want to encourage, and then let that list grow in the open. Then when things start coming in, point out the people who are contributing. You want to always call attention to contributions, but do so in an understated way. In most communities, everyone knows who is really contributing because work speaks louder than words, and the contributors are generally working with each other in the open. But it doesn't hurt to thank people once and a while.

  5. Presentations: The biggest problem with most technical presentations is that they are painfully long, and they focus too much on describing the technology itself. That's fine for a classroom or an interactive tutorial session. But the act of building a community is actually not about technology. It's about people. So, explain your technology, sure, but focus much more on how developers and users can get involved and contribute to the technology and community and how that benefits everyone. Most technical presentations have one slide at the end with a list of lists to join. That's not enough. It can't be an after thought. Make it core.

  6. Conferences: You have to go to conferences. Sun runs various conferences, but you need to go to non-Sun FOSS events as well. Both have value but both are different. Also, don't feel you have to always present at conferences. Participating in the sessions, hallway conversations, BOFs, and parties is just as important as presenting formal papers. Just being there is critical. You'll need a mix of face-to-face and online interactions to create a feeling of community. But don't miss the opportunity to do a rapid-fire lightning talk! Most good conferences offer these opportunities. And add user groups to your list of conferences. Go to them and/or start them. If you start a user group, do it in a bar or cafe or something. Start small and social, and let the technical presentations grow slowly as more people bring their own experiences to the group. And don't feel you have to always have a big technical presentation with a 100 people in the room each month. That's not realistic. Maybe try technical sessions quarterly but meet monthly in a bar for food and beer and then discuss things on a mailing list in between meetings. Start small and look for ways to build tradition through repeated experiences. Over time a little culture will soon develop, and that is the glue that will hold your user group together.

  7. Development Process and Infrastructure: If you are going to build a community, you ought to spend some time figuring out the physical infrastructure you'll need to support all the people you want. Will it scale? What development process is needed for accepting contributions? What testing is needed? Do you offer a sandbox for experimentation? What tools are necessary to host the project's artifacts? Who has access? This all depends if you want to host on opensolaris.org or on another site, and whether you are running a community group, a user group, or a development project. The higher end code contributors will always be small in number, and those are the guys who have to figure out the tools they'll need. However, non-coders should be involved in these discussions at least partially, so that your infrastructure is built to accommodate a wide variety of contributions.

  8. Leadership, Governance, Culture: What are your community's values? What will the social structure look like? How will your community run itself? How will you make decisions? What is your leadership model? How will you call attention to contributors? How do you resolve conflicts? These are questions that need addressing whenever any large group of people comes together to collaborate around anything. When you are small, you can manage this easily in your head, but when you grow globally you need to document the behavior you want to encourage and set some rules around how to manage it all. It doesn't have to be all pervasive and bureaucratic, but people need to know what you stand for and what you expect. Perhaps a single strong leader is appropriate, but you may want to consider other options of distributed leadership mechanisms as well. Look at other communities such as Mozilla, Linux, Apache, Ruby, Java and the BSDs for examples. Actually, there are many others, but those are some of the bigger open source software communities.

  9. Universities: If you want to grow, you need to go back to school and hang out with young people. Get your project in front of students and professors at universities in emerging markets first. Start with India and China for obvious reasons. But don't neglect the established markets as well. University visits are probably the single best way to ensure that your project has a shot at surviving the future. Neglecting universities is not an option. It needs to be a top priority. By the way, this will probably be the most fun part of your community building operations.

  10. Global: Build your community with a global perspective in mind. Where are the developers who would be interested in your stuff? Go there. A lot. When you go global, though, you will run into all sorts of interesting language and cultural issues that will slow you down. Expect it. Look for people who can help build the community in a given location, and then work to connect multiple locations together. You will not have "one" community around the world, so don't expect everyone to just follow you (or even understand you). You will have many communities, and they will express their own independence quite differently. Your job is to encourage them to be as independent as necessary, but also to help them connect to other regions so they can participate in the meta community. This is not easy, by the way. But it's necessary. And it can be a source of really innovative contributions as emerging markets develop.

  11. Marketing: Get to know your marketing people. They can help publicize your project formally at conferences or within press/analyst operations or at customer meetings. And they can offer a perspective you may have not considered on important issues, such as trademarks, branding, launches, announcements, leaks, and market disruptions. You don't necessarily know what the press is saying about you, right? Would more exposure help? What are the competitive issues marketing sees that you don't? Also, participate in special programs Sun occasionally runs, such as coding contests and events. Sun has other developer programs and web sites that all welcome content and participation. Leverage the company's global resources this way. By the way, humility and honesty are the best techniques for doing effective open source marketing. Keep that in mind as you publicize your stuff.

  12. Advocacy: This is much bigger than marketing and it's somewhat different as well. This is not about specific marketing disciplines such as advertising, marketing, branding, PR, or AR. Instead, it's about direct, unfiltered engagement at a level that leads to active participation and contribution. It's about community building via open communications. Now, that includes marketing, sure, but it also includes engineering and project managers -- and anyone else who wants to get involved. Also, you are the best advocate for your work. So you need to assume the direct responsibility of communicating in your own way. You will be leveraging other resources for this, but ultimately you are responsible for your own bottom line -- which in this case means growing your community and advocating your technology. Don't just give this function to someone and walk away. Be involved.

  13. Legal Issues: This is mostly internal to Sun as you open previously closed code and tools. But even when you are open, you need to consider trademarks, copyright, contributor agreements, licensing, source analysis, etc. These things will not necessarily help your community grow, but they can certainly stop things jet fast if you don't consider them at all. Get to know your lawyers. Teach them about the needs of the community, and ask them to teach you the realities of the law. The education here should go both ways.

  14. Project Management: As your community grows, it will surely contain multiple engineering projects and user activities around the world. Who will run these complex operations? Who will manage the plan and keep the metrics and roadmaps updated? Who will alert you to the organizational politics that you will surely encounter? So, you may want to hunt around for a good project manager to help facilitate things. Just as engineers should build community in the open, so too should project managers. If you look at your project in the broadest possible context, you'll see that it touches many diverse disciplines both inside and outside the firewall, and that will affect how you build your community. 

  15. Have Fun: And finally, building a community is ultimately a social exercise, so people should have fun as they participate. You want to draw people to your community, right? You want to encourage people to stick around, right? Make it fun to hang out. Give people the opportunity to have fun and they will.

OpenSolaris References:

Constitution | Community Groups | Projects | Website lead reference | Contributing | Values | Development Process | Development Reference | Advocacy & User Groups | Code Contributors

Books on Open Source, Licensing, and Community Development:

The Cathedral and the Bazaar Eric Raymond | Innovation Happens Elsewhere Ron Goldman, Richard P. Gabriel | Open Source & Free Software Licensing Andrew M. St. Laurent | Open Source Licensing: Software Freedom & Intellectual Property Law Lawrence Rosen | Open Sources: Voices from the Open Source Revolution Oreilly | Open Sources 2.0 The Continuing Evolution Oreilly | Free as in Freedom Richard Stallman

Post updated: 12/26/07, 12/27/07, 4/28/08, 5/16/08

Sunday Nov 25, 2007

A Portrait

Joi Ito shoots some really beautiful portraits. He snapped one of me the other day, which is humbling to say the least. I quite like it, though, which is rare. I'd rather shoot than be shot, believe me. There are a lot of snap shots of me floating around, but this is probably the only portrait since high school.

Sunday May 09, 2004

Channel 2

Love this piece in the Times talking about a new online community in Japan. Started by a guy with "some free time." Wonderful. If you know anything about Japanese culture, this article is well worth the read. For me the article demonstrates that communities are a natural state and that they form pretty much anywhere if given the chance. Just provide a forum that reveals the underlying need and then, well, get out of the way.

Tuesday Mar 30, 2004

And One More Thing on Jini

I just had another thought about the Jini community's FishBowl ... I can't get the darn thing out of my head. Why did it work so well? Maybe because a community had already developed, so people trusted each other. And even if a community hadn't fully gelled 5 years ago when they first tried this, perhaps the members simply wanted to mix as a community, and so that provided the incentive. But as I was observing this process, I kept asking myself why, why is this is working so well? Then it came to me -- volunteerism and meritocracy. Simple. All these guys were there because they wanted to be there and advance based on merit, not politics. No slackers. Just some guys who were interested in gathering and talking about the technology they love. The good guys self select in and the bad guys self select out. I realize this is the very basis of a community, but it was nice to observe live rather than reading about it in a book (although there are some really nice books about it, too). Also noteworthy -- and I specifically watched for this -- was the fact that all the acknowledged Jini leaders stuck around till the very end. But then again, I caught myself -- they were not compelled to do so ... they wanted to do so.

Sunday Mar 28, 2004

I Dream of Jini

I had the opportunity to attend the Seventh Jini Community Meeting in Boston last week. I was impressed to say the very least, not only by the advanced state of the technology but also by the understated passion of the developers.

What struck me most, though, was a comment by Jim Waldo, one of the founders of Jini who now works in Sun Labs. He feels Jini is "truly a community now" ... that Sun is no longer teaching the community about Jini but that the community has achieved parity with Sun and is teaching Sun as much as the other way around. I observed the parity Jim was talking about. It was clear. Aside from a little stress around one licensing session, I found it utterly impossible to draw any discernible line between Sun and the community. The two groups mixed freely as one, concentrating on technology, not politics. But that took five years? Absolutely, I was told by several people. Quality takes time.

After Sun's dramatic public launch of Jini five years ago, the community and technology have both steadily grown -- but very much under Sun's -- and the industry's --  radar. That may soon change. With Sun, IBM, Microsoft, and Hewlett-Packard now all hawking N1 Grids, On Demand, Adaptive Enterprises, and Dynamic Systems it seems that Jini could be poised to play a new role here since it already does many of the things these vendors are talking about, according to Jennifer Kotzen, Sun's senior product manager for Jini. The near future could be interesting for a community and its technology that most gave up on.

When you go to a Jini community meeting you are treated by a powerful ending -- the "FishBowl." This was wonderful. At the end of the last day of the conference, six chairs are placed in the middle of the room with the other 200 or so lined up in concentric circles around the core, otherwise known as the FishBowl. Five chairs inside the FishBowl are filled with people who want to talk. About anything. One chair is always left open. Then after a period of time (usually a few minutes) someone from the back enters the FishBowl, and someone else gives up his or her seat, thus leaving one chair unfilled encouraging others to enter. This system provides an opportunity for anyone to enter the FishBowl to say anything on any subject. Uninterrupted. And into the center they came. One by one. Some talked about a project they were working on. Some thanked the group. Some responded to questions. Some made announcements. Some offered observations. But all listened. Absolutely everyone was glued to every speaker's comments with the utmost respect. Loved it. It's no wonder this community has jelled so well. The respect each other.

The Jini meeting was held at The Charles Hotel in Cambridge, Massachusetts. An excellent venue for a conference, but the elevators drove me absolutely nuts. Daniel explains it all much better than I can. Special thanks to Jini community manager Jim Hurley for letting me lurk and learn.



« April 2014

No bookmarks in folder