Category Archives: Community of Practice

The 4C’s in the wild – SilverStripe Open-Source Community

Following on from last week where I presented some examples of Web 2.0 – 3.0 technologies and ideas being utilised in everyday life, I would like to continue that theme.  Highlighting how the 4C appraoch of social media implementation (from Niall Cook’s – “Enterprise 2.0” – Communications, Cooperations, Collaboration & Connection) applies using a real world example.

Last weekend I attended a “hackfest” set up by the SilverStripe Open-Source Community. SilverStripe is an open-source Content Management System (CMS) developed in Wellington, New Zealand and powers some high profile corporate and government websites. What makes SilverStripe unique though is the fact that their flagship product is free and open-source. Check out a quick video from Siguard , one of the founders for a great overview of their approach to software and open-source.

The SilverStripe Developer Community... getting together to collaborate on version 3.0!

As part of the SilverStripe open-source developer community we all usually collaborate remotely using various software and web services to keep organised. These same social software applications continue to be used when we are all in the same room together too! This allows for the greatest flexibility, being inclusive of the most amount of people in the community and acknowledging that we are in a global community where the boundaries of geographic location and time are less relevant (SilverStripe have open-source developers all around the world that contribute to building the software!).

Here is an overview of how the 4 C’s stack up for SilverStripe.

Communication

SilverStripe uses a developer blog to communicate with and update those in the developer community. They post information about the progress of the software as well as guest posts from members of the community. You can on any day of the week visit the developer forums and look for answers to development questions or share knowledge about the use and customisation of the software. They also have an IRC (Internet Relay Chat) service set up to allow Instant Messaging directly with the core developers at anytime.

Cooperation

In Cook’s book, he points out that cooperation differs from collaboration in that it is a more of an informal culture and that there is normally not a specific end goal that users are working towards or a joint problem solving effort. It is more aimed at sharing information and content. While there are a core set of community developers that work on the actual software itself, due to the system being open-source any developer can download and use it to build a website or intranet. Each of these developers will have their own project end goals but all together they cooperate in sharing their expertise and knowledge gained in using the system through the mentioned forums, and many developers have their own blogs dedicated to SilverStripe that share tutorials and valuable information, essentially this is crowd-sourced social cataloguing.

Collaboration

As I just mentioned, collaboration differs in that it has a more formal culture around it as opposed to cooperations informal culture i.e. The SilverStripe Core Developer Community and contributors work together to create portions of a larger whole, namely the core SilverStripe CMS (more specifically we are working toward the new 3.0 version of the software at present).

Here are some of the main social software tools that get used during the “hackfests” and remotely by those contributing to the software:

Bug/Issue Tracking – This is open for anyone to join and log errors/problems and feature requests with the software. The core developer team can assess them and developers can claim an issue ticket  and work on website code which is then contributed back to the software once completed.
Think of it as a wiki of things that are broken or things that people would like to see in SilverStripe.

Version Control Coding – SilverStripe uses a system of collaborative software code versioning called Git via a web service called Github. This allows multiple programmers to work on the same code at the same time without fear of overwriting others work or losing track of which files they have worked on. The software tracks all of this for them and then facilitates merging all this programming code back into a final version with the help of some friendly humans of course aka Human-Based Computation. The result is a software package that  can then be downloaded and used freely by others.

Wiki (Documentation) – The full set of documentation for the software including how it works, how to customise it, and a set of beginner tutorials is all available via the SilverStripe Documentation Wiki and can be updated by submitting changes to SilverStripe which are publicly displayed using a combination of markdown text editing and the Git version control system.

Connection

So how do all these people somehow magically come together and start writing this killer software? Connection is key and SilverStripe makes great use of all major Social Networks and some other handy tools to make sure those in the community remain connected with each other.

As Cook points out:

“…cooperation and collaboration systems depend on direct interaction between people, whereas connection tools rely as much on connecting [people] with content and each other.”

With that in mind, here are the tools leveraged by the SilverStripe Community to keep connected across geographic distance and timezones:

Facebook – http://www.facebook.com/silverstripe/

Twitter – http://www.twitter.com/silverstripe/

Meetup.com – http://www.meetup.com/SilverStripe-Wellington-Meetup-Group/

Google Groups – https://groups.google.com/forum/#!forum/silverstripe-dev/

For those itching to have a play with the SilverStripe CMS software check out their demo at: http://demo.silverstripe.org/ you can login and use a full version of the software.

Tagged , , , , , ,