This page has information about a proposal for the CE Linux Forum to build and maintain a general community-oriented Embedded Linux Wiki.
Table Of Contents:
Contents
Introduction
The CE Linux Forum seeks to maintain, on behalf of its members and the public at large, a repository of useful information regarding the use of Linux in "embedded" products.
The CE Linux forum thus seeks to create a new "Embedded Linux Wiki", and to support (via funding or direct effort) its administration and maintenance.
CELF is creating this vendor-neutral, community-oriented site to host information related to the use of Linux in embedded products. CELF member Movial is providing hosting for the site, and CELF itself has contracted with Bill Traynor to be an editor for the site.
The wiki will be a new site especially dedicated to embedded Linux. Much of the existing content of the current CELF public wiki (this site) will be moved here. This includes material primarily targeted at system designers and software developers. The new site will include technical information, howto guides, research results and other information useful to make it easier to use Linux in embedded products. Where appropriate, links will be made to existing material -- such as Wikipedia, Sourceforge projects, and news sites (such as [WWW]LinuxDevices and [WWW]LWN.net).
Historically, the CE Linux Forum has maintained its own wikis (one public, and one private to its members) to hold such information. However, these resources have never gained a strong community following. (This is true at least for contributors - there are signs that the CE Linux Forum public wiki does actually get read by many people.)
In April of 2006, the Architecture Group of CELF met and discussed ways to build a better resource. Some notes from that meeting are listed below.
Call for volunteers
CELF is issuing a call for volunteers to join the task force, which will hold its discussions on CELF's developer mailing list at [WWW]celinux-dev@tree.celinuxforum.org. If you would like to join the task force for the site, please contact Tim Bird at tim.bird (at) am.sony.com.
Design
Engine
Three candidate engines are:
Engine |
URL |
Description |
http://www.mediawiki.org/wiki/MediaWiki||This engine is used by Wikipedia, and is very full-featured and well-supported |
||
http://moinmoin.wikiwikiweb.de/||A really really really old version of this is the engine currently used for CELF pages. It is also very full-featured, and is well understood and customizable by Tim. The new version has many more features including better utf-8 support and a graphical editor. |
||
Miki |
<not available yet> |
Tim's private wiki engine. It is missing lots of features of the other engines, but can be completely customized for this purpose, and extended for automated maintenance tasks. |
TimRiker: MoinMoin allows monitoring pages based on name, category, or regex. When it sends emails it include the edits that were done. From what I have seen MediaWiki does not support this. It would be nice to have the email come from the editor if the editor has a registered email. That allows direct non-public comments back to the editor.
Roles
Administrator
This person would be responsible for installing the wiki software, and ensuring that the wiki continued operating properly, at the level of system administration for the wiki engine, web server, and any database server (if applicable). This person would also obtain the domain name for the wiki.
Also, this person would monitor the system for spam and set up and use spam avoidance, detection, and removal tools. This means maintaining user block lists, and link blacklists, and reverting vandalized pages as they occur.
Editor
This person would be responsible for populating the original wiki pages.
The wiki would be deployed in 2 phases:
- startup phase - populating the site quickly with as much existing information as possible, to provide overall site structure and to attain "critical mass" - the point where the site is visible enough to attract contributors
- growth phase - continued maintenance and expansion of the site
During the startup phase, the editor would:
- generate the top-level list of organizational articles (portals), and other major articles
- decide the list of portal areas
- list of technology portals (file systems, graphics, realtime, etc.)
- list of technique/tutorial/howto portals (bootup time, power management, size reduction)
- decide the list of major articles
- events, conferences, companies, boards, processors, forums
- create a list (with the help of CELF) of the "100 most desired articles"
- decide the list of portal areas
- move content from the existing CELF wiki
depending on the engine selected, this might involve writing a markup translator from MoinMoin to some other markup
- the CELF public wiki currently has 545 pages, of which approximately 120 are system pages, and roughly 100 are CELF specification pages. This means about 325 pages would need to be transferred.
- scan the content of previous conferences and look for articles and papers that can be linked to
- first, get a list of conferences:
OLS, ELC, LinuxConf AU, Linux Kongress, ESC, LinuxWorld, USENIX, realtime workshops, realtime and embedded computing conference, security conferences?, networking conferences?
- get a list of all talks and papers presented
- categorize the papers by topic
- add a link, on an appropriate page, for each relevant paper, with a short abstract or description of talk
- assuming about 10 conference a year, yielding about 60 talks or papers a year (with fewer in earlier years), this would be about 250 papers in the last 5 years??
- first, get a list of conferences:
- scan mailing lists, and search for information to populate existing pages
- select a small set of specific topics
- write up guidelines for using and contributing to the site
see http://en.wikipedia.org/wiki/Help:Contents - generate something similar in spirit
During the growth phase, the editor would:
- continue gleaning material from conferences, news items, and mailing lists
- clean up posts - help check the spelling, grammar, and organization of contributed material
- organize existing material
- maintain "current events" pages with links to upcoming conferences, news items, etc.
- try to populate and refine the articles in the "most desired articles" list, either by writing them or by finding and helping appropriate authors
Promoter
This person advertises the site and encourages independent contributions to the site.
Translators
These people (at least one per language) work to translate portions of the site into other languages.
Task Force
Make key decisions for the initial site design, domain name, hosting, etc.
Current volunteers:
- Scott Preece
- Paul Mundt
- Tim Bird
- Bill Traynor
- Sampo Nurmentaus
- Cliff Brake
Tasks
Schedule
I need to collect bids for the (funded) editor position by August 30.
I'd like to have the first page online by November 1, 2006.
Notes from meetings
AG meeting (April 2006)
- current wiki is too CELF-centric
- new wiki focus should be embedded, but with CELF as a sponsor
- could look for other sponsors as well
- current wiki is very unorganized (just like all wikis)
- need to methodically maintain content, but it doesn't happen
- need to have a specific project to organize content and maintain it
- no volunteers
- should be able to fund a part-time person for task of initial implementation
BOD conference call (June 2006)
- need to draft up specific proposal, and request bids against that proposal.
Embedded Linux Wiki BOF at OLS (July 2006)
Tim lead an informal (hallway) Birds-of-a-Feather session at the Ottawa Linux Symposium, in July 2006, to discuss ideas regarding an Embedded Linux Wiki.
Here are some notes from that meeting. The notes are in no particular order:
- wiki should not have a CELF focus
Mark Gross wants to use MediaWiki
- it looks professional
- you can edit sections of a page
(MoinMoin full page edit get hard on long pages)
- has "good" features by default: discussion, history
MediWiki is a well-supported project - code will likely not rot
- it has good mechanisms for publishing images, charts, etc.
- its layout language is simple
- cons:
- written in PHP
- requires mySQL for data storage
- don't know how to customize it
current CELF wiki uses very old MoinMoin version
latest MoinMoin is much better (search, tabs, sidebar, etc.)
- need to choose the engine and stick with it
- changing the engine after people have started to use it would be bad
- need to have a page with an overview
- need advertising in order to promote use and visibility
- encourage links back from other organizations and sites
- [Tim notes: if successful, then over time Google searches will land there automatically]
- need articles - some can just link to existing material, but also need original content if we're going to be authoritative
- links should be sorted by topic
- is site like yahoo or wikipedia (mostly accessible by index or by search??)
- topics:
- distributions
- kernel
- tools
- profiling and performance
- debugging
- toolchains
- tracers
- user space
- guis
- small tools
- libraries
- tutorials
- How-to articles
- books and articles
- technology topics
- size
- bootup time
- power management
- realtime
- security
- hardware
- target boards
- one page per board, with links to:
- data sheets
- documentss
- pictures
- usable binary images (bootloader, file system, kernel)
- one page per board, with links to:
- processors
- spec sheets
- target boards
- resources
- articles
- books
- conferences
- consultant lists
- products - including 'hackability' information
- list of 'needed stuff'
- items requested, but not listed yet
- areas of wiki needing attention/out-of-date
- [Tim notes: need a wiki feature list/bug list]
- should have ability to flag stuff as "needs-review"
- should install ourselves
- cost of technical person to maintain site is too high
- editor should cost less than a technical administrator
- What should an editor do:
- mine conference proceedings
- mine linux news sites for embedded articles
- mine content from CELF wiki
- organize links to off-site materials based on categories
- this means that the editor should have some knowledge of subject area
- write summaries of articles, presentations, conference talks, etc.
- respond to vandalism
- how to deal with vandals
Ralph Baechle uses MediaWiki for MIPS wiki, and vandalism is not expensive to deal with
- Ralph often saves a copy of datasheets, in case the original disappears
- [could save a copy, and only publish if link goes dead and original is no longer found]
- what would content license be:
MediaWiki uses Gnu Free documentation license
- does this work for code snippets? They should be GPL.
- the embedded wiki should support a wide range of natural languages
Oct 5 task force conference call
Tim's personal ideas and notes
- this might compete with commercial sites (linuxdevices?)
- probably not - won't be a news site
- should augment or reference existing materials
- need to go in and categorize content after each conference (CELF or otherwise)
- goal to be highly useful to average embedded developer
- content should be organized in multiple ways:
- by feature area: boot time, power management, real time?
- by technology area: synchronization, XIP, file systems, audio?
- by development task: configuration, development, debugging, tuning?
- need "clusters" of pages
- how to get people to contribute?
- idea for e-mail based micro-contributions??
- request and/or pay people for articles in specific areas?
- have to avoid "I'm not the page owner" syndrome (but the editor also has to watch for edit-storms and for edits that would diminish the accuracy/utility of the site
- site has to become popular within open source community
- need to actively market the site?
- need to open it up to Japan audience
- need translations of pages
- this didn't get very far on the original wiki - How to improve?
- need translations of pages
- how to avoid wiki rot?
- automatically re-validate pages over time using a micro-contribution system?
- ability to sort page by age of last update/last validation?
- how to avoid wiki-spam?
use latest MoinMoin
- how to make it easy to publish
- automatic system for handling data (charts, graphs, etc.)
- need to unlock and refactor content in presentations.
- Should get original presentations as well as PDFs so they can be put onto wiki pages
Some notes on building a community
See this article: How to Turn Lurkers Into Posters
Alternative: contributing to Wikipedia?
What about sharing some of the documentation/resources we create/gather with Wikipedia?
Pros
Wikipedia doesn't have an embedded Linux category yet, but already has many useful resources on Free Software: http://en.wikipedia.org/wiki/Category:Free_software . It is very likely to fill this gap in the next years.
Wikipedia already has interesting articles. Examples: Busybox, uClinux, uClibc, Embedded Linux, ARM architecture, MIPS architecture, cross compiling, Real-time computing, USB, LZO... We may prefer to refer to some of them or to improve them, rather than creating our own version.
- Some community members will prefer to contribute to Wikipedia anyway.
- Wikipedia already attracts many readers, contributors and reviewers. No need to advertise for a new online-resource. We can expect lots of reviews and improvements. Vandalism should be very low.
- We would get readers (and contributors) that we wouldn't have otherwise: people interested in software in general stubling on our content, thanks to Wikipedia internal links.
- The whole infrastructure is already available. No setup costs. No need to administrate our own server.
- Unless we have a content license incompatible with Wikipedia's (caution: may not be community friendly!), nothing could stop Wikipedia contributors from copying our content anyway. It's bad to duplicate documents: they miss our updates and we miss theirs.
- Even if Wikipedia's license is the GNU Free Documentation License, it doesn't prevent us from linking to external resources with another license (like conference presentations, papers, etc.).
- If CELF announces that it hires someone to contribute to Wikipedia about embedded Linux systems, this should have a great impact on the community, positioning CELF as a major contributor to the community. Potential contributors would then also know where to contribute.
- We can add value by providing organization and navigation on our site.
Cons
- The support and funding from CELF wouldn't be visible in the newly contributed web pages.
Some resources that we want to create in the Wiki cannot be added to Wikipedia. However, they could be added to sister projects. Contributed tutorials would go to Wikibooks (http://wikibooks.org/), technical papers and to Wikisource (http://wikisource.org), and other media (like conference videos) to Wikimedia Commons (http://commons.wikimedia.org/). It seems that all those Wikipedia sister projects can have an embedded systems category.
- However, it seems difficult to see where embedded Linux news-related announcements should go. Wikinews doesn't seem to be appropriate. This may require to stick to a CELF wiki for such resources and others which cannot fit into Wikipedia. Wikipedia is definitely not a community website.
- In spite of the use of hyperlinks from Wikipedia articles, it may be a bad thing to have our contributions scattered on several sites.
- There could also still be conflicts between Wikipedia's goals and regulations and CELF's goals in creating this documentation resource. Typically issues with content rejected by Wikipedia but welcomed by CELF.
It would be nice to have a portal like the Free Software Portal. However, Wikipedia doesn't seem to have subportals and an Embedded Linux Portal is unlikely to be accepted.
