Archive for May, 2012

Publication Plan, Dependency Questions, License Model

I spent some time back in late February / March working to revive the prototype code from 2004 (the last time I actually looked at the source code) but stopped short of a total bring-up thinking that the time would be better spent on refactoring routines that I now feel are poorly implemented (who wrote this crap?) and porting sections dependent on the Windows OS (see Welcome post).

The prototype codebase has the following dependencies currently:

Obviously quite a lot has changed since 2004. Notwithstanding, investment in STL and Boost in particular seem to have withstood the test of time.

As I’m super busy currently, getting the source code published is going to take some time because I do not want to release the currently busted and out-of-date source as a baseline. It will simply be too confusing and chaotic. What’s likely is that as I tackle the various subsystems of the platform (there are ~six major subsystems) that I’ll package them as libraries and release them one at a time. The first will likely be the base parsers that read and deserialize the XML-encoded data flow graphs upon which the entire platform is based.

Source code will eventually appear on GitHub where I’ve a created the Encapsule-Project organization (no repositories currently so don’t even bother looking).

License model: I intend to publish under the Boost Software License because it is simple, permissive, and non-controversial. I could say more but the explanation would then exceed the number of words in the actual license text.

I would appreciate hearing from anyone willing to offer suggestions about the list items above marked ‘under investigation’ and more broadly from people who have practical ideas for applying this work to the problems they’re facing. Or, if you think the whole effort is a total waste of time I would like to hear that too :)

Thanks, Chris

Welcome to the Encapsule Project

Started in 2001, the Encapsule Project was at one point a commercial undertaking of my start-up Encapsule Systems, Inc. My partners and I failed to get the company funded and pulled the plug in 2004 and we all went on to do other things.

Until now little information about this project has been published publicly. I am now starting to publish details in hopes of generating interest in this work.

I’ve created two pages on this blog to start this process:

Subsequent posts will discuss my future plans for this project. Briefly:

  • Release the entire 170K+ lines of C++ that comprise the prototype codebase as open source.
  • Update portions of the codebase to leverage newly standardized extensions to the STL (TR1).
  • Carefully review and update significant dependencies on the Boost C++ libraries.
  • Port the Windows platform-specific sections of the code to Linux (or possibly just leverage Qt).
  • Port the Windows platform-specific user interface to Qt.
  • Explore options for enabling plug-ins to be written in dynamic languages (e.g. Python).
  • Build a community comprised of core contributors, plug-in and model authors, and end users of the platform (this could be people who snap together applications/services using other people’s models, or other projects that wish to embed the core runtime controller).
  • Find corporate sponsorship for this effort?

Thanks, Chris