Software Tools

This page has largely become obsolete or been replaced by work elsewhere including the School of Data


 * Also use del.icio.us tags: http://del.icio.us/tag/openknowledge+tools/
 * Only include open source tools generally
 * Pointers to documentation/architecture specification is extremely valuable

= Databases / Data Stores =


 * For distributed storage see: p/Distributed_Storage/Research
 * For more databasey see /Databases

= Simple (Ascii-Based) Text Formats =

See del.icio.us tags: http://del.icio.us/tag/text+format/

See summaries and comparison at:
 * 1) stx (structured text) project.
 * 2) http://www.pault.com/pault/pxml/xmlalternatives.html
 * 3) http://www.exmosis.net/node.Markup_Matrix

Here we list the main contenders:


 * reStructuredText (ReST) (http://docutils.sourceforge.net/rst.html)
 * to HTML, Latex
 * Python
 * Extensible
 * Markdown (http://daringfireball.net/projects/markdown/)
 * to HTML
 * Perl (python script maybe as well)
 * Textile (http://www.textism.com/tools/textile/)
 * to HTML
 * Almost Free Text (AFT) (http://www.maplefish.com/todd/aft.html)
 * to HTML
 * Perl
 * semi-extensible
 * asciiDoc (http://www.methods.co.nz/asciidoc/)
 * to Docbook/html/pdf
 * Python
 * extensible
 * sounds v. complicated
 * Almost Plain Text (APT) (http://www.xmlmind.com/aptconvert.html)
 * like ReST but more complex/less well thought out
 * Java
 * extensible
 * atx
 * http://www.aaronsw.com/2002/atx/intro.atx
 * superseded by markdown (which derives from it)

Comments

 * NickStenning: wonders in what context these (or one thereof) are going to be used. ReST is arguably the most extensible, but Markdown for my money is the most non-tech friendly. Textile is also very good for writing HTML-like stuff.
 * RufusPollock 20060607: inclining towards markdown as it has widespread support, has all the standard basics and can easily be adapted (see http://www.exmosis.net/node.Markup_Matrix comparison)

Markdown

 * http://daringfireball.net/projects/markdown/ -- official home page
 * http://markdown.infogami.com/ -- resources and tools
 * http://www.freewisdom.org/projects/python-markdown/ -- python markdown processor with pluggable pre and post processors (v. useful)
 * http://www.aaronsw.com/2002/html2text/ -- html2txt tool producing valid markdown

= Archive and Repository Systems =
 * Fedora
 * http://www.fedora.info/
 * The Fedora project was funded by the Andrew W. Mellon Foundation to build an open-source digital object repository management system based on the Flexible Extensible Digital Object and Repository Architecture (Fedora). The new system demonstrates how distributed digital library architecture can be deployed using web-based technologies, including XML and Web services.
 * DSpace
 * http://www.dspace.org/
 * DSpace is a groundbreaking digital library system that captures, stores, indexes, preserves and redistributes the intellectual output of a universitys research faculty in digital formats.
 * CVS
 * Subversion
 * http://subversion.tigris.org/
 * The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license.
 * Jakarta Slide
 * http://jakarta.apache.org/slide/
 * The Slide project main module is a content repository, which can be seen as a low-level content management framework. Conceptually, it provides a hierarchical organization of binary content which can be stored into arbitrary, heterogenous, distributed data stores. In addition, Slide integrates security, locking, versioning, as well as many other services.
 * Webdav based
 * rsync - free software tool for mirroring sites and repositories of files. It can be easily used as update so it collects only difference from prevously collected files from a repository

= Optical Character Recognition =
 * GOCR
 * http://jocr.sourceforge.net/index.html
 * Clara
 * http://www.claraocr.org/
 * Socrates
 * User Interface
 * http://www.linux-speakup.org/socrates.html
 * works with gocr

= Project Development Systems =
 * GForge
 * HERA
 * checking whether www sites conform with W3C recommendations on www accessibility for people with disabilities
 * http://www.sidar.org/hera

= Contact Management =

Groupware

 * eGroupware is looking quite strong
 * compiere is an ERP/CRM but looks like too much

= Text Manipulation =

XML

 * http://sourceforge.net/projects/diffmk/ -- alpha::java::written by norman walsh
 * http://diffxml.sourceforge.net/ -- beta::java::last updated 200503
 * http://www.cs.wisc.edu/~yuanwang/xdiff.html -- alpha::c++/java::last updated 2003
 * http://tdm.berlios.de/3dm/doc/index.html -- alpha::java::last updated 2002/2006 (?)

Annotation

 * http://www.co-ment.net/ - system developed by Philippe Aigrain
 * http://blog.okfn.org/2007/01/24/thinking-about-annotation/ -- review of existing F/OSS packages

See http://del.icio.us/tag/openknowledge+tools+annotation/

= Visualization =

See also OpenVisualisation

How to Graphically Show Complex Data in Your Web Application" by George Belotsky
 * http://www.theyrule.net/ -- visualization of relationships between individuals sitting on fortune 500 boards
 * http://www.swivel.com/ -- tabular data visualization service. All data is free but code is not.
 * MeineData, Mellenrummet:  http://www.disruptiveproactivity.com/2007/07/meinedata-mellenrummet-and-technical.html
 * http://simile.mit.edu/ -- BSD licensed suite which includes visualization tools
 * http://infosthetics.com/ -- good collection of interesting exemplars from various fields
 * http://flare.prefuse.org/ -- ActionScript visualization toolkit licensed under BSD
 * http://www.openlight.com/vis_lw_sf_2006/ -- slides for "Visualizing the Enterprise:
 * http://iv.slis.indiana.edu/sw/ "This page provides pointers to commonly used data analysis and visualization algorithms."
 * http://teethgrinder.co.uk/open-flash-chart/
 * http://www.openden.com/modules/weblinks/viewcat.php?cid=43&sortid=8&page=4 and http://www.openden.com/data-visualization.php
 * http://swik.net/visualization+statistics
 * http://www.jgraph.com/
 * http://simplecomplexity.net/2007/05/18/open-source-visualization-toolkit/

= Open Source Game Systems Useful as Open Knowledge Tools =

These items relate to open games engines that could be useful as tools for other projects (for example for doing Economic simulation or assisting with developing OERs).


 * Freeciv -- open source clone of civilization. Written in C and unfortunately appear to be no python (or similar) bindings.
 * Second Life -- the second life codebase appears to have been opened. However seems fairly complex to get this up and running.

= Distributed File Systems =

See projects/Distributed_Storage

= Data Distribution =

See ToolsWeNeed and projects/DataDistribution

= Data Management =


 * OPenNDAP and pydap
 * HDF5 and pytables
 * plain old csv (plus python csv library)
 * metadata:
 * simple old key/value
 * dublin core
 * SDMX (Statistical Data and Metadata eXchange) format: http://sdmx.org/ (adopted by UN in 2008-04 -- see http://www.opendatafoundation.org/blog/?p=26).

= Rich Internet Applications =

Two main players here are javascript and flash. Focus on flash since javascript is well-known and open-source.

For visualization see also http://wiki.okfn.org/OpenVisualisation/

Multitouch (including iPad, iPhone and Android)
Focus on javascript + css (not native stuff e.g. objective C)

iPod Touch, and other forward-thinking devices.
 * http://jqtouch.com/ - A jQuery plugin for mobile web development on the iPhone,
 * http://plugins.jquery.com/project/swipe
 * http://www.the-art-of-web.com/css/css-animation/

Flash
As of late 2009 Adobe Flex is open-source and freely available: http://opensource.adobe.com/flexsdk

Instructions for installing Flex SDK:
 * http://stevelove.org/2009/05/14/how-to-install-and-set-up-adobe-flex-sdk-on-ubuntu-linux/
 * http://www.dotkam.com/2009/03/29/adobe-flex-in-ubuntu-develop-compile-and-run/

Flex Builder (a plugin to eclipse) is also available in alpha: http://labs.adobe.com/technologies/flex/flexbuilder_linux/

Adobe Air is less important for web stuff as it is about building Flash applications for the desktop.

Alternatives
Open Lazslo: http://www.openlaszlo.org/

= Accounting =

= Javascript =

File Uploaders

 * http://aquantum-demo.appspot.com/file-upload
 * https://github.com/blueimp/jQuery-File-Upload
 * https://github.com/valums/file-uploader
 * http://uploadify.com/

Date and Time

 * http://www.datejs.com/ - really excellent (though does mess with Date prototype)
 * http://momentjs.com/ - rewrite of datejs for node / commonsjs compatibility.
 * https://github.com/JerrySievert/cromagjs

Temporal spans (in words especially):
 * http://timeago.yarp.com/ - mature, actively developed and thorough
 * https://github.com/jherdman/javascript-relative-time-helpers
 * https://github.com/layam/js_humanized_time_span - recent (late 2011)

Testing
Comparisons:
 * http://agilepainrelief.com/notesfromatooluser/2008/11/unit-testing-in-javascript.html
 * http://blog.james-carr.org/category/tdd-javascript-series/

Options:


 * QUnit
 * http://docs.jquery.com/QUnit
 * Maintained by jquery team
 * looks simple and reasonable
 * Js Test Driver:
 * Active as of 2010 (and relatively recently released)
 * Written in Java and seems good -- see e.g. this post (by one of the authors)
 * jsspec
 * http://code.google.com/p/jsspec/
 * Seems fairly inactive with only one developer as of 2010
 * http://code.google.com/p/js-test-driver/
 * JQUnit: now recommends QUnit