$30 off During Our Annual Pro Sale. View Details »

Distributed wikis

Distributed wikis

Presented at Freedom in the cloud miniconf, Linux.conf.au 2011.

Brianna Laugher

January 17, 2011
Tweet

More Decks by Brianna Laugher

Other Decks in Technology

Transcript

  1. Distributed wikis
    Brianna Laugher
    Freedom in the Cloud miniconf
    LCA2011

    View Slide

  2. [[SPEAKER:IS]]
    Wikipedian c. 2005-2010
    [[TALK:IS]]
    Strictly vaporware
    Philosophising
    [[TALK:ISNOT]]
    A demo
    Concerned with technical specs

    View Slide

  3. Distribute/decentralise what?
    Part Software Wiki
    Interface Already existed with
    centralised VCS.
    Barely exists,
    although possible.
    Vast majority of
    access via web UI.
    Repository/
    storage
    =DVCS meh
    Access point Possible but not
    done, projects use
    official releases.
    “marketplace of
    ideas” model
    Community Kinda, like Linux? Not really

    View Slide


  4. Multiple versions of articles

    Opposite of “One True Version”

    Some mechanism allows the best to “rise to the
    top” (like PageRank?)

    Isn't that like the internet before Wikipedia? …

    Similar to Knol? UrbanDictionary? StackOverflow?

    Problems:

    rewards older contributions

    evaluating is boring

    no canonical/reliable version

    does not force/reward collaboration
    “Marketplace of ideas” model

    View Slide

  5. No more “One True Version”?
    “A new-generation Wikipedia based on Git-style
    technologies could allow there to be not just one
    Ocelot article per language, but an infinite number
    of them, each of which could be easily mixed and
    merged into your own preferred version.”
    – Anil Dash, “Forking is a Feature”
    http://dashes.com/anil/2010/09/forking-is-a-feature.html

    View Slide


  6. Wiki = VCS + prose text project + web UI.

    Copyleft license => “right to fork” => “keeps the
    bastards honest”.

    (Software) releases : (wiki) approved versions?

    English Wikipedia is 10. Can it survive to 20?

    Too big to fail?

    Too big to fork?
    Some ideas

    View Slide

  7. Wiki = web front-end for VCS
    for prose text content

    View Slide

  8. What's missing from wiki VCS?

    View Slide


  9. Diffs need to be per-word, not per-line

    Code contributions generally expected to be self-
    contained, generally in larger chunks than
    w/prose

    Code needs to be machine readable,
    (optionally?) human readable. Onus is on
    contributor to check machine readability
    => higher technical barrier to contributing is
    widely accepted

    Drive-by vandalism virtually non-existent

    Prose projects rarely do “releases”
    VCS for code vs prose

    View Slide

  10. Merging for code vs prose
    Code for unrelated technical functions should be
    able to be merged
    Can we make the same promise for prose?

    View Slide

  11. View Slide

  12. Can Wikipedia survive another 10?
    Sense of dissatisfaction in the community
    Unlike software, a certain critical mass is needed
    to stave off vandalism

    View Slide

  13. Low barrier to entry
    (incl. anonymity)
    +
    high visibility
    +
    many pages
    =>
    vandalism

    View Slide

  14. Wikipedia the monopoly

    One destination –
    convenient and simple
    for users

    Great SEO (=> project
    growth)

    Potential for serendipity
    in editor activities

    Consistency (at least
    superficially)

    Practically, impossible
    to fork

    hardware/bandwidth

    community

    Widespread
    bureaucratese,
    instruction creep

    Impersonal

    View Slide

  15. MediaWiki has a write API!
    # Init site object
    import mwclient
    site = mwclient.Site('commons.wikimedia.org')
    site.login(username, password) # Optional
    # Edit page
    page = site.Pages['Commons:Sandbox']
    text = page.edit()
    print 'Text in sandbox:', text.encode('utf-8')
    page.save(text + u'\nExtra data', summary = 'Test
    edit')

    View Slide

  16. “Pending changes” aka
    “FlaggedRevs”

    View Slide

  17. View Slide

  18. View Slide

  19. “Pending changes” separates
    “what change I want to make”
    (a commit)
    from
    “what I want users to receive”
    (tag as approved=”release”)

    View Slide

  20. It's almost like
    having a release branch
    mixed in with trunk....

    View Slide

  21. Parsing mark-up :(
    Templates :( :(
    Free license + API – what's the
    hold-up?

    View Slide

  22. “WikiProjects” FTW

    Self-organised groups of editors dedicated to a
    particular topic (e.g. Australia) or, less commonly,
    focus (e.g. standardising dates)

    Very informal, light-weight

    Narrower focus => better opportunity for
    community

    View Slide

  23. Fork the UI?
    (a la Twitter API)

    View Slide

  24. “Why would anyone contribute to a
    feeder wiki?”
    Promise of Wikipedia visibility
    +
    Domain-specific and relevant interface
    +
    Community

    View Slide

  25. What is community?
    People
    Intent/aims
    Social norms
    - for interacting
    - for contributing
    (eg. style guide)
    License
    Meta-planning for all of the above

    View Slide

  26. In summary...
    If forking Wikipedia is too hard, what can we do to
    make it practical again?

    View Slide

  27. Credits
    Screenshots and logos are © their respective owners
    Wikipedia 10: David Peters, CC-BY-SA
    http://commons.wikimedia.org/wiki/File:Wikipedia_10mark_rev_k.svg
    Vandalism post-its: cdaltonrowe, CC-BY
    http://www.flickr.com/photos/30485180@N06/3490537301/
    Coloured post-its: Michael Goodine, CC-BY
    http://www.flickr.com/photos/watchsmart/3227691975/
    Branches: Piotrus, CC-BY-SA
    http://commons.wikimedia.org/wiki/File:Shaped_tree_branches_Tenerife.JPG
    Wikimania schedule editing: Kat Walsh, CC-BY-SA
    http://commons.wikimedia.org/wiki/File:Wikimania2007_everythings_a_wiki.jpg
    WikiProject Council logo: Neurolysis, CC-BY-SA
    http://commons.wikimedia.org/wiki/File:WikiProject_Council.svg
    flagged revs maybe: Neurolysis/Kotra, CC-BY-SA
    http://commons.wikimedia.org/wiki/File:FlagRevsMaybe.png
    pending changes clock logo: Adam Miller/Anomie/Dodoïste, CC-BY-SA
    http://commons.wikimedia.org/wiki/File:Pending_changes_clock.svg

    View Slide

  28. [email protected]
    identi.ca/pfctdayelise
    brianna.laugher.id.au
    This work is © Brianna Laugher and licensed under
    the Creative Commons Attribution ShareAlike
    license, except where otherwise noted.
    Thanks!

    View Slide