Stackoverflow объявили о запуске нового амбициозного проекта: документационном хабе для всех существующих технологий. Предполагается, что для каждого существующего на Стеке тэга можно будет создать раздел документации, и в этом разделе постить топики, похожие на существующую парадигму вопрос-ответ, но являющиеся разделами документации. Возможно получится, что Стек станет для опен-сорсного комьюнити такой-же стандартной площадкой для документации, как, скажем, Гитхаб для исходников.

По задумке Джеффа, Кевина и других основателей сайта, это позволит пользователям самим создавать более качественную документацию, чем зачастую предоставляют авторы той или иной технологии. Тогда программисты смогут вовсе не покидать сайт Стека, где они и так проводят много времени решая свои ежедневные проблемы. Пользовательская вычитка, голосование, примеры кода, единый поиск, мотивация репутацией — есть надежда, что всё это поможет создать на порядок более качественную и востребованную документацию, причём для всех технологий сразу.

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

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

Ещё основатели утверждают, что сам формат документации используемый в большинстве проектов устарел, то есть сам пользовательский интерфейс. Большинство систем документации языков программирования, библиотек, API унаследуют идеи Javadocs двадцатилетней давности. Ссылки в таких системах как правило локальны и теряются с версиями. Стековцы обещают решить обе проблемы, сделать вечные глобальные ссылки и современный пользовательский интерфейс наследуемый от интерфейса основного сайта вопросов-ответов и обкатываемый миллионами пользователей. Грозятся, что их юай/юикс будет лучшим в мире.

На самом деле люди в Стеке очень практичные, у них есть соображения совершенно другого порядка. Постоянно мучающая пользователей и владельцев Стека проблема это too broad и офф-топик. В комментариях годами идут баталии потому, что людям хочется задавать воопросы «вообще», например «что посоветуете почитать». Был создан отдельный хаб programmers, но он не особо популярен и поток «офф-топиков» и «ту-броадов» не ослабевает. Так вот: есть надежда, что большая часть таких вопросов уйдёт в документацию вместо того чтобы с ними бороться они станут полезной частью сети.

Сами статьи на Стековерфлоу смогут теперь ссылаться на документацию на самом Стеке. Это решит очень серьёзную проблему: битые ссылки. Ссылки на документацию есть в огромном количестве вопросов-ответов, и процент их «битости», устарелости с годами растёт, поскольку официальная документация постоянно мутирует по содержанию или мигрирует по ссылкам.

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

Ещё важнейший вопрос, который возможно улучшится в результате — это возможность приносить пользу. Сейчас очень много людей пользующихся Стеком хотят написать что-то полезное для других, в чём они класно разбираются, но не могут, потому, что не могут найти подходящих вопросов или не желают учавствовать в гонке ответов. Знаете, на Стеке это есть, в погоне за репутацией люди бросаются отвечать с максимальной скоростью применяя зачастую разные трюки для выведения своего ответа в топ. Теперь можно будет не торопясь создавать топики для документации по огромному количеству тем и, кстати, получать голоса в репутацию.

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

Пока идея такая: берётся тэг из существующих уже на Стековерфлоу и к нему создаются странички, официальное название которых «топики». Каждый топик имеет заглавие, примеры и примечания, а так-же опциональные разделы, которых может быть сколько угодно. Основной упор делается, конечно, на примеры. Поскольку именно понятный, иллюстрирующий тему пример — это то, что разработчик ищет в документации (и не находит в большинстве случаев, отсюда популярность Стека).

Примеры можно «схлопывать» (коллапсить) глобальные ссылки могут вести не только на весь топик, но и на отдельный пример. Вообще редактор будет новый, хотя и похож на редактор вопросника-ответника. Макрдаун, подсветка, увеличенное окно. Кроме топиков, кстати, можно будет создавать запросы (реквесты), за них можно голосовать и топовые реквесты должны вызывать желание писать по ним топики у посетителей. Как это всё будет конкретно сказываться не репутации ещё не ясно. Однако уже ясно: репутация вопросной части сайта и репутация в доках будет общей!

Конечно, имеется путаница в мотивах. С одной стороны основатели бросаются фразами в духе «one ring(docs) to rule them all», с другой стороны говорят, что не надо соревноваться с хорошими существующими документациями, а только работать там, где нет качественных документаций. Всё это вызывает у народа немало вопросов.

Ещё вызывает вопрос, куда постить теперь свои вопросы и проблемы, в новый реквест топика или старый вопросник? Это может вызвать немалую путаницу, например «как сложить две строки на Джаве» это куда, в вопросы-ответы или это реквест на новую статью в доке? Пока не ясно, хотя пушутся гайды (правила) на эту тему.

Импортирование статей из существующих документаций запрещено. Есть лицензионная политика, но здесь я её не буду обсуждать, поскольку статья вводная.

Развернулась широкая дискуссия, приведу ряд вопросов котоые получили широкий резонанс.

Спрашивают: вы говорите, что если у проекта есть хорошая документация, то не надо делать доки для этого проекта на стэке, но как быть в случае если доки были созданы на стэке, а потом у проекта появилась своя крутая документация? Будет ли в таком случае стёрта документация стэка?

Вопрос каверзный, но Кевин логично объяснил: что, мол, создадим голосовательные системы, пусть сообщество решает, чего стирать, а чего оставлять.

Другой вопрос, что делать в системах подобных .NET, где множество версий и под каждую своя крупная документация. Ответ такой, что версии технологий тоже будут учтены специальными средствами! Пока более подробной инфы, о том, как именно это будет — нету.

Самую большую кучу плюсов получил комментарий (хотя технически это ответ) человека который запостил комикс из трёх скриншотов, на первом он набрал в гугле «node.js write file», и первая ссылка сверху ведёт на Стек, на втором страничка открытая по этой ссылке, где сразу бросается искомый пример записи в файл, а на третьем страничка официальной документации по Node.js, где типичный для этого ресурса список поддерживаемых функций и совершенно не понятно что читать дальше. То есть люди ищут примеры. Впрочем само по себе это не доказывает необходимости нового сайта.

Люди очень переживают, что возникнет путаница между официальными документациями и документацией на Стеке. Некоторые считают, что это будет «выживет сильнейший», другие думают, что официальная документация будет только для хардкорщиков и тех, кто пишет доки для Стека, а большинство будет пользоваться последней, а сами основатели Стека полагают, что лучше всего официально мигрировать официальные доки на платформу Стека! Иметь единый, глобальный, обкатанный пользовательский интерфейс и гигантскую общественную вычитку и правку должно быть удобно создателям технологий, разве нет? Создатели open-source проектов, наверняка первыми воспользуются такой возможностью.

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

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

Предлагают ещё сделать сайт для туториалов и хауту.

Ещё люди переживают, что документация, особенно официальная, должна восприниматься как истина в последней инстанции, а на Стеке она сама станет предметом дискуссии, и где гарантии, что она будет соответствовать действительности, особенно, когда разработчики пишут одно, в реальности другое, а писать код всё равно рекомендуется по документации, даже если известно, что, например, в компиляторе косяк. На что народ отвечает сакразмом, справедливо указывая, что мало найдётся официальной документации в которой не было бы ошибок, путанницы, неработающих примеров и так далее. Один человек нахватал плюсов сказав нечто вроде того, что, мол, если вам нравится когда документация это нечто вроде Библии, можете установить MSDN с компакт-диска.

Много плюсов получил комментарий о том, что куча девелоперов ползающих по сайту (мне вспомнились пресловутые воображаемые обезьянки у пишущей машинки пишущие «Войну и мир») никогда не создадут качественной документации, потому что этим должны заниматься профессионалы, которые знают, как это всё правильно структурировать, оформлять, осознающие всю сложность и ответственность задачи. Кроме прочего, документация является источником программерского стиля и паттернов решения проблем, и создать такие доки которые не просто показывают, как можно решить проблему, но объясняющие как её решать положено с точки зрения разработчиков технологии могут только профессиональные докописатели работающие в тесном контакте с разрабами данной технологии. Хотя популярного ответа на этот вопрос не нашлось, но некоторые указали, что когда тысячи программистов пользуются технологией и решают всякие вопросы с ней связанные, то они создают доки как раз такие как и нужны другим пользователям данной технологии и совершенно не факт, что «эти ваши профессиональные писатели в тесном контакте с разработчиками» действительно необходимы. Возможно этот вопрос больше беспокоит самих профессиональных докописателей, ведь их очень много и они получают деньги. Кстати, их работа может не исчезнуть, им просто будут платить за «сидение на Стеке».

Один человек меня очень порадовал приведя примеры офф-топиков которые постоянно убиваются на Стеке, но которые «должен знать каждый», и которым надо-бы найти место на сайте, и которые, кстати, приводят к множеству вопросов которых бы могло и не быть, знай люди эти элементарные вещи: «никогда не используйте scanf», «the type-based aliasing rules are asymmetric» (затрудняюсь перевести) и «зря вы пытаетесь решить эту проблему шелл-скриптом».

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

Официальная ветка обсуждения на английском языке находится на Мете, все желающие приглашаются принять участие: meta.stackoverflow.com/questions/303865/warlords-of-documentation-a-proposed-expansion-of-stack-overflow?cb=1

Вот такая ситуация складывается, ждём развития. Сам для себя я пока не решил хорошо это или плохо, но одно точно могу сказать, мне очень интересно, что из этого (не)выйдет. Интересно было бы сравнить приведённые мнения англоязычного сообщества, с тем, что думает наше, русскоязычное, не стесняйтесь, оставляйте свои комментарии! И ещё, в заключение, дорогие читатели, вам предлагается маленький опрос:
Что вы об этом думаете?

Проголосовало 1589 человек. Воздержался 301 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Комментарии (35)


  1. scrutari
    12.09.2015 16:53
    +3

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

    Так там же даже правило такое есть, что задавать вопрос и самому на него отвечать не только можно, но и нужно. Если нет вопроса, что мешает самому сделать топик и добавить туда ответ?


    1. 4p4
      12.09.2015 17:02
      +1

      Почему-то это не практикуется. Задать вопрос, ответить на него, получить плюсов за этот ответ: звучит невероятно. Правда, практикуется чистое задавание вопросов.


      1. encyclopedist
        12.09.2015 19:07
        +7

        Практикуется.
        Я взял пользователя с большим рейтингом и посомтрел на самые популярные вопросы. И сразу нашёл примеры: 1 2 3


        1. 4p4
          12.09.2015 21:01
          -4

          Интересно, сколько таких умельцев и как много они провернули подобных комбинаций.


          1. encyclopedist
            12.09.2015 21:46
            +2

            Вы осуждаете? А тем не менее StackOverflow явно поощряет отвечать на свои собственные вопросы.


            1. 4p4
              12.09.2015 21:53

              С чего вы взяли, что я осуждаю? У меня у самого есть парочку таких вопросов-ответов, правда нецеленаправленно получившихся.


              1. encyclopedist
                12.09.2015 21:59
                +22

                Потому что слова «умельцы», «провернуть», и «комбинация» часто используются в негативном смысле.


                1. 4p4
                  12.09.2015 23:40

                  Ясно, нет, я не использовал ни одно из трёх слов в осудительном смысле.


    1. vadimzz
      15.09.2015 14:43

      Я думаю, что имеется ввиду тот случай, когда too broad, и в этом случае автору придется целый день писать вопросы и ответы (либо гоняться за ними). Вместо одной связанной, но обобщенной заметки.


  1. Beautiful-Skyline
    12.09.2015 17:37
    +4

    image

    Я искренне желаю стэковцам, что бы их начинание не оказалось точным отражением данной картинки


    1. vadimzz
      15.09.2015 14:45

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


  1. vitvad
    12.09.2015 18:01
    +4

    Боян devdocs.io :)


    1. 4p4
      12.09.2015 18:42
      +9

      Есть такая буква, но Джефф как-то писал (цитирую по памяти): «когда мы запускали Стэковерфлоу, мы сомневались в необходимости репутации, на что люди будут готовы ради каких-то виртуальных очков репутации? Но вскоре оказалось, что ради этих очков они готовы НА ВСЁ». У Девдокс всё очень мило, но не хватает имён контрибуторов, а главное топливо Стэка, как и Хабра — слава. Впрочем, Википедия доказывает, что можно и без этого.


    1. KReal
      14.09.2015 13:28
      +3

      Какой-то этот devdocs.io хипстерский — ни тебе .Net, ни Java)


  1. NeoCode
    12.09.2015 18:16
    +7

    Почти моя мечта:) Но разумеется они будут делать все честно — по типу вики, сами пользователи пишут документацию.
    А я когда-то думал о распределенной электронной библиотеке, о пиринговой базе знаний, в которой были бы собраны, сгруппированы в иерархическое дерево все книги, статьи и документы самой разной тематики (лично меня в первую очередь интересует IT и конкретно программирование).
    Правда, такая библиотека была бы величайшим нарушением копирайта в истории человечества:)


    1. 4p4
      12.09.2015 18:47
      +1

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


    1. ApeCoder
      14.09.2015 09:02

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


  1. Athari
    12.09.2015 23:23
    +6

    Идея интересная, но вопросов много. Stack Overflow вполне по силам убить всех конкурентов и привести к смерти большинства сайтов с документацией, останутся только корпоративные продукты и редкие мелкие дикари. Wikipedia уже убила дикий интернет с мириадами сайтов (впрочем, не она одна), Stack Overflow может провернуть подобное. Вопрос в том, что мы от этого приобретём и что потеряем. Мировое господство без потерь не бывает.

    Забавно, что писать про Stack Overflow Documentation можно, а написавший про Stack Overflow in Russian был забанен с удалением всех статей. Лишь бы Тематические Медиа не решили создать конкурента этому проекту, а то и этот сайт будет запрещено обсуждать…


    1. 4p4
      13.09.2015 00:00
      +1

      Ну личные сайты скорее не «убились», а переехали в соцсети и прочие платформы.


    1. dom1n1k
      13.09.2015 03:03
      +1

      Эээ… а какие такие есть «мелкие дикари»?
      Мне казалось, что документация с претензией на энциклопедичность и может быть только корпоративной. Скажем, в вебе я считаю лучшей MDN. Для IE-специфичных вопросов, конечно, MSDN. Громко запускавшийся WebPlatform чота как-то не очень взлетел — периодически заглядываю на него и не нахожу ничего превосходящее MDN.

      Сайты поменьше могут быть только относительно узкоспецифичными, типа caniuse.com или javascript.ru или php.net.

      А у совсем мелких «дикарей» своя ниша — всякие tips and tricks и решение нетривиальных проблем частенько нагугливаются именно в персональных блогах.


      1. Athari
        13.09.2015 04:53

        Имею в виду документацию разных мелких библиотек, которая генерируется по сорцам. Ну вот из моего, например: athari.github.io/YaLinqo Какое место уготовано подобной документации в мире с SO Documentation?


        1. dom1n1k
          13.09.2015 13:37

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


          1. 4p4
            13.09.2015 14:22

            СО всё равно крупная или мелкая библиотека, они только дают площадку, если появятся желающие документировать узконишевый проект — никто им мешать не будет. Есть же порядок добавления тэгов на СО, есть тэги даже на десяток вопросов-ответов. Более того, в будущем, возможно, мелкий проект сможет выиграть от докуметации на СО используя эту площадку для раскрутки.


            1. dom1n1k
              13.09.2015 14:40

              Так а кто захочет документировать малоизвестную библиотеку, кроме её разработчика?
              То есть у него даже выбор появляется — раскручиваться на SO или быть standalone.


              1. 4p4
                13.09.2015 14:46

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


                1. dom1n1k
                  13.09.2015 15:02

                  Сколько раз в жизни у вас возникало желание всерьез заняться документированием чужого продукта?
                  Не 1-2 коммита отправить автору, а именно всерьез, чтоб с нуля, полноценно и всеохватно?
                  Думаю, примерно ноль раз.


                  1. 4p4
                    13.09.2015 15:16
                    +2

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


          1. Athari
            13.09.2015 15:05

            Они вполне ясно выразили мысль, что у них должна быть вся документация в мире. :)


  1. ComodoHacker
    13.09.2015 01:09

    Насчет причин, думаю все просто. Трафик. Сейчас большая часть трафика идет а) в Гугл, если я чего-то не нашел (или меня туда послали :), и б) на оф. сайты проектов, в доки, если я таки нашел. Жалко терять этот трафик.


  1. overmind0
    13.09.2015 15:14
    +1

    Мама учила меня пробовать новые вещи. Я за.


  1. overmind0
    13.09.2015 15:19

    Также, хорошо бы всем пакетным репозиториям обзавестись таким же удобным просмотровщиком доков как у npmjs.org
    Обожал этот момент в работе с нодой, для большинства пакетов не приходилось лезть на СО.


    1. 4p4
      13.09.2015 15:54
      +2

      Объясните пожалуйста, что за «удобный просмотровщик» имеется ввиду?


      1. keksmen
        13.09.2015 21:15
        +2

        Думаю, имеется ввиду преобразователь markdown из readme-файла в html на странице пакета.


  1. vadimzz
    15.09.2015 14:24
    +2

    По-статистике множество вопросов на стэке, вообще, возникают только из-за того, что в официальной документации нет или некачественная инфа по некоторой теме.

    А еще множество вопросов возникает просто из-за некачественных API, которые не работают нормально сами по себе, независимо от документации. Извините, накипело!


  1. qbtarzan
    16.09.2015 23:25
    +1

    Отличная новость, мы только недавно ломали голову в QuickBlox на что нам перевести документацию + дать возможность коммьюнити редактировать и улучшать, и пришли к тому, что автогенерить страницы из markdown файлов, лежащих в github репо. А markdown в свою очередь смогут расширять не только мы, но и все разработчики.

    Теперь серьезно задумаемся над StackOverflow как альтернативой.