The Source for Java Technology Collaboration
User: Password:



   

The Javapedia Project

by Ron Goldman
06/10/2003

Editor's note: A wiki is a collaborative playground with no one in charge. In this article, Ron Goldman describes some of the goals for the Javapedia wiki that will be featured on this site. Before he does, we set the mood with a dream sequence.

Think back to the first time you enjoyed collaborating in a creative endeavor. Perhaps you were on a beach kneeling in the sand with other four-year-olds building a sand castle. The occasion may have been a group presentation for a school project -- your contribution was just part of an organic whole. Maybe you were breathing life into a role in a play or you were playing an instrument in a high-school jam session.

In each case, the whole was greater than the sum of the parts. None of the children could have built the entire sand landscape. Thirty minutes of just the drummer or just the guitarist isn't nearly as interesting as the music they create interacting with each other and the rest of the group. Seeing your favorite actor perform Lear isn't as captivating if there is no one on stage with whom the actor can create this reality.

Wouldn't the children have built a better sand castle if an adult had been in charge and given each child clear instructions? Perhaps. What do you mean by better? Wouldn't the music be more polished if the group practiced a detailed composition? Probably. If that is your goal, then a jam session is not for you. Isn't there a risk that a rogue contributor could ruin the effort of the group? Certainly. The only way to mitigate this risk is to prevent the free contributions of each member.

You're invited to participate in building an online sand castle. Initially it won't look like much more than a few piles of sand on an otherwise empty beach. Come participate. Find a tower you would like to build or a moat you would like to dig. Notice a door that doesn't look quite right and make an adjustment.



The goal of the Javapedia Project on java.net is to create a complete and accurate online encyclopedia of all things Java. Anyone with a question about Java technology will hopefully be able to find an answer in it. Javapedia entries will cover all aspects of the Java language: class libraries, history, philosophy, you name it -- if it relates to Java, it belongs in the Javapedia.

Inspiration: the Wikipedia

Our model is the Wikipedia, a free encyclopedia being constructed online by volunteers. Work on the Wikipedia started in January 2001, and as of May 2003, the community has written over 120,000 articles. These articles span subjects like philosophy, mathematics, biology, physics, architecture, engineering, anthropology, economics, geography, history, literature, religion, sports, and television. Any topic you would expect to find in a published encyclopedia such as the Encyclopædia Britannica is apt to be represented -- if not today, then possibly tomorrow, when someone knowledgeable in that area visits the Wikipedia web site and decides to participate.

Some articles are short, some long. Some are quite accurate, while others contain errors. The quality of the writing varies. But what all of the articles share is that today's version is generally better than yesterday's. As the Wikipedia community of volunteers continually revises each article, mistakes are corrected and missing material added. This is a process similar to how open source software is continually improved by volunteer developers: many eyes are continually looking at it, problems are noted, and someone who can do so eventually fixes them.

The number of people working on the Wikipedia has been continually growing. There are currently more than 700 regular Wikipedia contributors, over 10,000 people who have registered a user account there, and an unknown number of anonymous contributors. Because technically oriented people are more comfortable on the Internet, the number and quality of the more technical topics is highest. At present, gardening, architecture, dance, and theater are some of the weaker areas of the Wikipedia. However as the popularity of the Wikipedia grows, so does the range of people contributing to it.

One key policy that makes the Wikipedia possible is that articles are written with a neutral point of view. With participants of all ideologies, from all around the world, it is important that articles on controversial topics strive to fairly and sympathetically present all views on an issue, rather than advocate any specific point of view. This makes it possible to have articles on topics like abortion or the Middle East without having an endless argument---the article describes the arguments of the various positions, but does not try to have a single, objective point of view. The Wikipedia also has a separate talk page associated with each article, where people can discuss the contents of the article and how it can be improved. The Wikipedia community tries to limit this talk to improving the article, instead of debating the subject of the article. By and large, this policy has made it possible for groups with opposing views to successfully collaborate on the writing of Wikipedia articles.

What Is a Wiki?

The software behind the Wikipedia that allows people to collaboratively edit web pages is called a wiki. The first wiki web site was established by Ward Cunningham in 1995. Ward originally called it the WikiWikiWeb, from the word wiki wiki (which means quick in the Hawaiian language).

A wiki makes it easy for anyone to view, edit, or create web pages using just a web browser. A very simple markup scheme allows some basic text formatting. In the original wiki, a link to another wiki page is automatically created by writing several words with the first letter capitalized and with no spaces between them, such as JamesGosling or UsingThreadsSafely. If there is not already a page with that name, then a new one is created.

A wiki is a great way for a community to create a group document. As members browse the existing pages, any time they see a mistake or want to make an addition, all they need to do is press the Edit this page button displayed at the bottom of the page. This loads the current text of the page into a form where it can now be edited. After they make whatever changes they want, they press the Save page button and the new version of the page is available for all to see.

Writing in wiki pages consists of either unsigned, deliberately anonymous text that is intended to be community material that others are encouraged to update and improve (e.g., Wikipedia articles), or a series of signed comments where people hold a form of conversation as they try to reach an understanding of the issues involved (e.g., a Wikipedia talk page). The unique way in which wiki works is that anyone can reorganize the conversational threads to clarify the material, possibly moving them to new pages, and rewrite the community material based on the comments made. Over time, more and more community-owned text is created expressing the community consensus and the now-concluded discussions are removed.

Most wikis have a special RecentChanges page that displays an automatically generated index of all the wiki pages that have been changed recently. Many people check the RecentChanges page frequently to see what is new on the wiki.

Wiki Depends on Community

When they first hear about wiki, many people's immediate reaction is that it cannot possibly work. People worry that someone will come along to delete what is there or write random garbage all over pages. This indeed can and does occasionally happen, but as soon as any of the wiki's community members notice the problem they erase the graffiti and restore the page's original contents from the previous archived version. After continually having their "work" removed, the offending individual usually quickly gives up and goes elsewhere.

A more common problem is that no community consensus emerges, possibly because the community is split into opposing viewpoints on some issue. Here's where a policy like the Wikipedia's "neutral point of view" can help, by allowing folks to work together to express each of the viewpoints, rather than resolve the issue to a single correct one. This requires a real sense of community and a respect for each other's beliefs.

Another reason that discussions do not resolve is that the community is exploring a new area and just doesn't know enough yet. In that case, the various discussions will just sit there and be a reminder that the issue is still open. As individuals (and hence the community) learn more, people will add to the discussion and reorganize it.

Wiki Can Help Build a Community

The wide-open nature of the wiki, and most peoples' unfamiliarity with it, can present a barrier. People can be afraid of what will happen to what they write or unsure of what type of contributions are accepted. The tone set by the community will either encourage or discourage new folks to join in. Once someone does contribute and begins to edit wiki pages, they gain a feeling of empowerment and often develop a vested interest in overseeing the wiki as a whole.

A wiki is a community effort and each develops its own culture. In general, the sense of working together to build a better understanding seems to encourage people to be more polite then many other Internet activities do. Maybe because on a wiki any flames, spam, or trivia can be easily deleted, while the constructive comments are expanded and grow.

Coming to a common place, sharing a vocabulary, and working together over time on common goals all help to make the people using a wiki into an actual community.

Wiki on java.net

One goal of java.net is to help people to discuss Java-related issues, share code and techniques, and work together on projects of common interest. To do this, java.net provides a whole set of tools, including mailing lists, discussion forums, file sharing, CVS source control, bug databases, weblogs, and wikis. Most of these are tools are common to many web sites hosting open source projects. Wikis and weblogs, however, are not.

One thing that sets java.net apart is that it is not primarily about open source, but instead is about how groups of people can collaboratively construct whatever is needed to make them more successful in their Java-related activities. For some, this will involve writing Java source code, but others will be creating documents, material to teach Java-based courses, sharing ideas, or doing research. A wiki is well suited for such activities, and providing them with one will hopefully help them succeed.

Help Us Create the Javapedia

One of the projects proposed for java.net is the Javapedia, a Wiki-based encyclopedia of Java technology that will include descriptions of class libraries, frameworks, tools, applications, courses, consultants, and anything and everything relating to Java. We expect there will be articles that tell the history of Java, capsule biographies of people involved with Java's development, talk about Java in relation to other programming languages, success stories and business cases for using Java, plus lots more that will surprise us all. The Javapedia will be created and maintained by the community. Everyone is invited to help.

No one is in charge of what goes into the Javapedia; everyone is responsible. As with most wiki-based discussions, we expect that a small group of volunteers will help grow and nurture the Javapedia by welcoming new contributors, adding more articles, reorganizing old articles and the links between them, and, most importantly, setting a positive tone for the community as a whole to follow.

Initially there will not be much in the Javapedia. If you don't find what you are looking for, then please help by creating a new page with whatever you know about the missing topic. Later, someone else who knows more will visit the page and add to it. If you read a page with mistakes on it or that is missing important information, then please edit it and help improve it. Contribute what you know and remember that it is okay to leave a page you edit unfinished. That's how a wiki grows and becomes useful.

The Javapedia is an experiment. We think it will be useful, but that will depend on how willing people are to contribute to it.


Links to web sites mentioned in the article:

Ron Goldman is a researcher working at Sun Microsystems on alternative software development methodologies and new software architectures.

View all java.net Articles.

 Feed java.net RSS Feeds