In our opinion, the open source model represents a powerful means of creating stable, secure code. As such it is a significant part of modern technical culture as well as having major benefits for both developers and the end users of the software.
Wherever practically possible we release our code as open source for the benefit not only of the developer community and software users, but so as to benefit ourselves from the criticism and contributions of our peers as we build systems and products for our clients.
More than that, we assign copyright to the code we release jointly to the LShift developer who created the core code as well as to LShift. That way, our developers receive the recognition they deserve for their expertise and skills as well as being strongly motivated to produce the best work they are capable of, since it will be reviewed by their peers in the open source movement.
Read more about the open source community.
| Chicken-SDL and Chicken-Cairo |
Chicken-SDL and Chicken-Cairo are libraries for Chicken Scheme that have bindings for the Simple Direct-media Layer and Cairo vector graphics respectively. They are in active development by Tony Garnock-Jones and Michael Bridgen. |
|---|---|
| CVSZilla |
CVSZilla is a combination of Perl and Java to integrate CVS, Bugzilla and CVSWeb or ViewCVS. It extends CVS to give rudimentary support to 'change-sets', or 'transactions', after a fashion - they are not precisely what most people refer to as change-sets, but they're close enough for use here. The core was originally written by Tony Garnock-Jones with Michael Ngarimu. It has recently been extensively rewritten by Matthew Sackman in order to introduce more features and is now largely in maintenance mode. |
| directorComms |
A series of Lingo scripts to allow Shockwave and Director applications to communicate easily with online data stores developed by Andy Wilson. The scripts can be used to communicate with any webserver, and any RDBMS database, but example ASP scripts communicating with an Access database are included showing how the DirectorComms scripts can produce a SQL query analyser in your own Director movie. |
| gAlan | gAlan is an audio-processing tool for X windows and Win32. It allows you to build synthesisers, effects chains, mixers, sequencers, drum-machines etc. etc. in a modular fashion by linking together icons representing primitive audio-processing components. Developed by Tony Garnock-Jones. |
| Jabber.el | Jabber.el is a functional emacs-lisp extension that turns your emacs into a jabber client. Originally built by Tom Berger. |
| JS/CORBA Adapter | The JS/CORBA Adapter, developed by Matthias Radestock, provides a mechanism for arbitrary Javascript objects to interact with each other transparently in a distributed Javascript system using CORBA. |
| Luna Scheme | Luna is a Scheme compiler and run time environment for .NET - it is written in C# and Scheme, and provides a useful superset of the R5RS standard. The system is still under development, and is designed for tight integration between Scheme and the .NET environment. Developed by Tom Berger. |
| MetaPlatform | MetaPlatform is a minimalistic lazy functional language with metaprogramming features, intended to become a platform for rapid programming languages development. Currently it works on top of JVM and supports a complete Java reflection, so it can be used as an embedded JVM language as well as for the Language Oriented Programming research. Developed by Vitaly Lugovsky. |
| NTDCRealm | NTDCRealm is a Tomcat realm that authenticates users against an NT domain controller. This is especially useful for intranet projects where the web authentication models duplicates the LAN authentication of an NT domain (using an older NT server). Developed at LShift by Tom Berger. |
| Pyle | Pyle is a WikiClone - an implementation of a program sharing general ideas with the original WikiWiki developed by Ward Cunningham. Developed by Tony Garnock-Jones. |
| RabbitMQ | RabbitMQ is an implementation of AMQP, the emerging standard for high performance enterprise messaging. LShift built our implementation in collaboration with CohesiveFT. Code was developed by a team including Tony Garnock-Jones, Matthew Sackman, David Ireland and Matthias Radestock. |
| Timetracker |
Timetracker is a Java application for recording time usage to a shared or personal database. Timetracker was developed at LShift by Michael Bridgen, Tony Garnock-Jones, and Paul Crowley. You can download either the binaries or the source of Timetracker. |
| Timezilla |
Timezilla is a Java web application for linking data in Bugzilla with data in Timetracker. Developed by Lee Coomber. |
| TrustFlow |
TrustFlow is a new "trust metric" algorithm, which uses human-generated information about trustworthiness in a human-sized community of a few hundred people to generate guesses about trustworthiness in an Internet-sized community of millions of people; this is useful in applications from search hit ranking to spam prevention. TrustFlow is unique among "attack resistant" trust metrics in that it can load information about who trusts who incrementally as needed; this makes it well suited for distributed use. TrustFlow is under active development by Paul Crowley; the current module examines friendship relationships among the million-strong LiveJournal community, and has gained around eighty thousand visitors. |
| YATL | A JSP Taglib template library written by Sam Jones designed to effect a clean separation of business logic from page design. Influenced by the HTML::Template Perl module, it has a deliberately small set of tags to perform common tasks such as variable substitution, looping and conditionals. |
| xxexpr | xxexpr was written by Tony Garnock-Jones. It takes SXML (Scheme S-expression representation of XML data) and converts it to XML 1.0 markup, with optional pretty-printing, etc. |
ContributionsListed below are projects initiated by other parties that LShift staff have made contributions to: |
|
| Apache Axis | Lee Coomber contributed to the Axis project, the Apache implementation of the W3C SOAP standard. |
| Bugzilla | Matthew Sackman has contributed code to Bugzilla, the very popular bug-tracking system. |
| Chiba | Matthias Radestock contributed to the Chiba project, a Java implementation of the W3C XForms standard. |
| Chicken | Tony Garnock-Jones contributed the chickenlib, docscm and chicken-gtk2 libraries to the Chicken project, a compiler that translates programs written in Scheme into C. |
| CVSSpam | Tony Garnock-Jones has contributed code to CVSspam, a CVS add-on for for emailing colour-diffed change notifications on all CVS commits. |
| Darcsum | Darcsum is an emacs mode for the Darcs revision control system. Matthias Radestock has recently contributed to this project. |
| Distel | Matthias Radestock contributed to Distel, an Emacs-based user-interface toolkit for Erlang. |
| gcj | Michael Bridgen contributed to gcj, a Java compiler in the GNU compiler collection (gcc). |
| HaskellDB | Matthias Radestock contributed to HaskellDB, a Haskell combinator library for expressing queries and other operations on relational databases in a type safe and declarative way. |
| HDBC | Matthias Radestock contributed to HDBC, a database API for Haskell. |
| Kawa | Matthias Radestock contributed to the Kawa project, a compiler/interpreter for the Scheme programming language, written entirely in Java. |
| LAML | Matthias Radestock contributed to the LAML project, a suite of libraries and tools that bring XML and HTML processing into the domain of the Scheme programming language. |
| Rhino | Matthias Radestock contributed to the Rhino project, a compiler/interpreter for the JavaScript language written entirely in Java. |
| Scheme48 | Matthias Radestock contributed to the Scheme48 project, a fully standards-compliant and very portable interpreter for the Scheme programming language. |
| SISC | Matthias Radestock contributed to the SISC project, an interpreter for the Scheme programming language, written entirely in Java. |
| Slate | Tony Garnock-Jones contributed POSIX directory-access code to the Slate project, a prototype-based object-oriented programming language based on Self, CLOS, and Smalltalk. |
| SLMC | SLMC is a Spatial Logic Model Checker for behavioural and structural analysis of concurrent programs. Matthias Radestock has recently contributed to this project. |
| SML.NET | Tony Garnock-Jones and Michael Bridgen contributed code to SML.NET, a Standard ML compiler that targets the .NET runtime. |
| SSAX | Matthias Radestock contributed to the SSAX project, an XML parsing framework for Scheme. |
| Squeak | Tony Garnock-Jones has contributed to Squeak, an open-source, highly portable, fast and full-featured implementation of the powerful Smalltalk programming language and environment. |
| ViewMTN | Matthias Radestock contributed to the ViewMTN project, a web interface to the Monotone distributed version control system. |
| WebTst | Francis Tang contributed to the WebTst project, a test management tool aimed at creating and managing user-centric testing. |
| YATL | Lee Coomber contributed to the YATL project, a JSP Taglib template library. |