версия p5.js

Это интервью является частью продолжающегося расследования того, что вообще такое открытый исходный код. Мое предыдущее интервью с инженером Mozilla Эйтаном Исааксоном касалось истории происхождения открытого исходного кода и политики патентов.

На этот раз я поговорим с Лорен Маккарти, создательницей p5.js - библиотеки Javascript с открытым исходным кодом для художников и дизайнеров - о возможностях открытого исходного кода для построения сообщества. Она художник из Лос-Анджелеса и Бруклина, доцент UCLA Design Media Arts.

Джен: Вы художник и написали p5.js. Как вы там оказались?

Лорен: Да, как я там оказалась? После аспирантуры я начал думать обо всех инструментах, которые использую как художник, работающий с программным обеспечением. Мне было интересно, есть ли какой-нибудь способ вернуть деньги, но было действительно сложно понять, как участвовать в проектах. Часто общины чувствовали себя закрытыми или как будто все знали друг друга. Это расстраивало, потому что в мире программного обеспечения росло осознание того, что «О, мы могли бы хотеть здесь некоторого разнообразия. Мы не хотим, чтобы это было место, где женщины и цветные люди чувствуют, что нет никого, похожего на них ". И я думаю: «Как ты можешь сказать, что когда я здесь, я женщина, и никто не бросит мне кость?» Не то чтобы я такой классный, но просто нужно вторгаться.

Я знал Кейси Риза по аспирантуре и говорил с ним об этом, и он предложил мне поработать над Processing [альбомом для рисования с открытым исходным кодом для художников]. Он такой: Что? Вы хотите работать с открытым исходным кодом? Хорошо, да, у нас есть проект!

Когда я действительно не знал, что делаю, я просто делал что-то большее, чем ничего. А затем сделайте что-нибудь еще. И он продолжал расти.

Фонд обработки только что запускал свою программу стипендий, и она все еще не была определена, но они знали, что хотят привлечь других людей на определенный период времени для работы над чем-то конкретным. В то время я только начинал изучать Javascript, и они спросили, не хочу ли я подумать о том, как обработка будет выглядеть в Javascript. Честно говоря, я понятия не имел, о чем они говорили. Я помню звонок с Беном [Фраем], Кейси и Дэном [Шиффманом], когда я пытался делать записи, и в конце я понял: эээ, я не понимаю задание.

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

Мы начали преподавать его в RISD [Школа дизайна Род-Айленда] в 2013 году, то есть задолго до того, как он был готов. Но у Processing была долгая история этого. У них будет запланирован семинар, и перед обучением необходимо будет провести большую работу по развитию. Это было: «Мы завтра преподаем; нам действительно нужно заставить эту часть работать. Циклы работают, но следующий урок будет по тексту, так что нам нужно заставить это работать ».

Это было действительно похоже, когда мы начали преподавать p5 в RISD, и это все еще так, когда вы преподаете в ITP [Программа интерактивных телекоммуникаций]. Это уникально; многие программные проекты не похожи на это. Они действительно тестируются, готовятся и полны функций, и только после этого они выпускаются в мир.

Дж .: Фраза «открытый исходный код» сейчас повсюду. Не могли бы вы рассказать мне поподробнее о том, как вы тогда чувствовали эту фразу? И изменился ли он, поскольку p5 стал более крупным проектом?

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

В какой-то момент Кейси сказал мне: «Я думаю, тебе следует осторожно использовать эту фразу. Я не думаю, что вы открываете источники своей жизни; может быть, вы занимаетесь краудсорсингом или открываете свою жизнь ». Так что я случайно занялся исследованием открытого исходного кода. И даже тогда я узнал определение из Википедии. Технически я понимал, как это работает, но не понимал, что это может значить для меня.

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

Моя работа с p5 с самого начала должна была быть с открытым исходным кодом, потому что Processing - это открытый исходный код. Я даже не особо задумывался о том, что это значит, и какое-то время это не имело значения; p5 - это я только что работал над репо на GitHub. Затем, в какой-то момент, я связался с Эвелин Истмонд, и мы вдвоем работали над этим проектом, а еще несколько человек начали вводить или добавлять код. Возможно, это был мой первый опыт работы с открытым исходным кодом. Я имею в виду, что открытый исходный код не обязательно означает, что будут внесены вклады - это просто означает, что код открыт, и люди могут делать с ним все, что захотят, а разные лицензии имеют разные ограничения. Но часто в проектах с открытым исходным кодом люди берут код, модифицируют его, а затем чувствуют вдохновение, чтобы внести свой вклад. Так что это был мой первый раз, когда я увидел это, и это было круто.

Дж. Я думаю о некоторых встречах p5, на которых я был, и о моем собственном процессе участия в проекте. Когда я начинал, я почти ничего не знал, поэтому мне интересно, на что похож этот процесс адаптации с вашей стороны.

Каким образом у вас есть возможность увеличить базу участников p5? Даже если вы хотите, чтобы все чувствовали, что они могут и должны вносить свой вклад, как вы на самом деле развиваете навыки людей и создаете сообщество? Я думаю, что p5 делает это, и это невероятно, но я действительно не знаю, как это происходит.

Л: Во многом это пришло из-за того, что я сам это делал. Когда я начал создавать этот инструментарий, я только что прочитал свою первую книгу по Javascript, поэтому, когда я хотел что-то реализовать, мне приходилось искать, как это сделать, пробовать что-то и при необходимости исправлять позже. Я также никогда раньше не работал над настолько большим проектом.

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

Я помню, когда я работал с Эвелин, она была частью этой веб-консалтинговой компании Bocoup в Бостоне. В какой-то момент она сказала, что люди были готовы потратить день, помогая нам, поэтому мы вошли и показали наш код одному из людей. Он просмотрел его и сделал несколько предложений, например: не помещайте все 10 000 строк кода в один файл; гораздо удобнее разбить код на несколько файлов, а затем собрать их вместе; выбрать между использованием табуляции или пробелов. И он познакомил нас с некоторыми инструментами для создания проектов такого масштаба.

Оглядываясь назад, я думаю о том, как этот код, должно быть, выглядел для профессионала. Но я не знал достаточно, чтобы знать, что мне должно быть стыдно, а он вообще не заставлял меня чувствовать себя так. Когда другие люди показывали мне что-то и давали мне возможность учиться, это было очень важно. А потом я бы изучил, как вы используете Grunt? Как вы решаете, как разделять вещи?

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

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

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

Дж .: Я как раз смотрел Заявление сообщества p5, и часть его гласит: Мы не снобы кода, мы настаиваем на том, чтобы активно участвовать в запросах обратной связи независимо от их сложности, мы приветствуем новичков и уделять первоочередное внимание образованию других .

Л: Да, для меня этот аспект сообщества, это действительно попытка обеспечить инклюзивность, доступность и разнообразие в качестве основных ценностей, была его основополагающей частью. Я хочу увидеть, если вместо того, чтобы просто говорить об этом и о том, как мы хотим, чтобы это было правдой, что произойдет, если мы действительно попробуем это сделать. Является ли это возможным? Может ли это быть жизнеспособным примером или моделью? Я пытался с этим справиться.

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

Я хочу увидеть, если вместо того, чтобы просто говорить об этом и о том, как мы хотим, чтобы это было правдой, что произойдет, если мы действительно попробуем это сделать. Является ли это возможным? Может ли это быть жизнеспособным примером или моделью?

Одна из вещей, которые мы сделали, - это то, что мы начали с панели по разнообразию, открытому исходному коду и искусству. Мы сделали это в первую ночь, до чего-то на самом деле, что было ... вы знаете, было так много вещей, которые мы могли бы сделать: мы могли бы просмотреть контрольный список всего кода, который нужно было написать. Я думаю, это было неожиданностью для некоторых людей, особенно тех, кто ожидал, что у них будет больше хакерских встреч. Но это задало хороший тон. На второй день мы разделились на группы и работали над разными вещами, но у нас был момент, когда мы заставили всех выключить свои компьютеры и собраться вместе, чтобы обсудить идеи для этого заявления сообщества и кодекса поведения. Сказать: это не одна конкретная группа, которая занимается этим, и они это делают, а все остальные программируют; на самом деле, всем нужно остановиться и на секунду стать частью этого.

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

Л: Не было напряжения. Я думаю, что все, кто приходил, уже были такими подавленными людьми, но были некоторые вопросы от людей - в основном людей с более длительным опытом работы в космосе. Для них это просто казалось неожиданным или новым.

Профессор Голан Левин, который проводил мероприятие, задал мне хорошие вопросы, которые подтолкнули меня к размышлениям о том, почему я принимаю такие решения. Мы обсуждали, можно ли называть это «спринтом кода». Я сказал: «Да, это будет интенсивно, и люди будут много работать, но…» Я погуглил фразу «спринт кода» и увидел результаты. Это все эти белые парни в наушниках.

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

Так что я получил не столько отпор, сколько: «О, это другое ощущение». Что имело смысл. Я подумал, что это должно ощущаться по-другому.

Дж .: Мой последний вопрос касается устойчивости проектов с открытым исходным кодом. Несколько месяцев назад вы написали в Твиттере: «Как сделать добровольный проект с открытым исходным кодом устойчивым? Возможно ли такое? »

Что вы нашли?

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

Вы знаете, в своем предыдущем интервью вы упоминали эту слегка пресыщенную точку зрения, которая гласит: О, мы думали, что программное обеспечение с открытым исходным кодом спасет нас, и теперь это костяк всех этих капиталистических корпораций, которые управляют серверами под ним! Я бы сказал, что в некоторой степени это происходит потому, что это способ сделать модель с открытым исходным кодом жизнеспособной. У вас есть компании с доходом, и они могут платить за поддержку базовой инфраструктуры.

Если вы не хотите этого делать, вы во многом полагаетесь на энергию вовлеченных людей и на то, как вы это добьетесь. Я видел много проектов, в которых в какой-то момент у людей заканчивается энергия или они хотят сосредоточиться на чем-то другом, и проект терпит неудачу или становится чем-то другим. Мне действительно интересно найти работающую модель. Кайл Макдональд, бывший менеджер сообщества openFrameworks, предложил одну идею, которая мне очень понравилась: наличие большего числа ответственных за смену, например, срок службы ...

Дж. Но ведь это другой «срок службы», не так ли? 😏

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

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

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

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

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

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

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

Это интервью было отредактировано для большей ясности.