Closed Source for 10 years

Our history and change to Open Source...


Our company is founded

Development of our first real CMS begin

  • Composite (the company) was started in 1999
  • Back then it was a technical web agency called Limelight Interactive
  • We developed web applications and homepages on top of Microsoft technology like ASP, COM/COM+ and SQL Server
  • A large Danish electricity provider wanted more features for a very CMS like tool we had made for them
  • We asked for 9 months and started building a 2nd generation CMS

"Composite 1.0" is released

Being based on COM we called it Composite

  • Plug-in support - COM components implementing interfaces can extend actions like page rendering, page/template edit.
  • An app like UI realized with classic ASP, CSS, JavaScript, AJAX and client side XSLT
  • A commercial and closed source product, sold under warranty for a lot of money
  • Sold via local partners and own web agency¬†
  • First live customer was copenhagencapacity.com (they still use it and run v. 3.8 today)
  • Our bread and butter for many years to come

The User Interface

A page based system, later refreshed with XP'ish look


Planning for a 3rd generation CMS begin

"Customers want it to run on both XML and SQL Server"

  • Goals:
    • Enable end-users to manage their website content
    • Easy to install new modules
    • Cater to the needs of digital media agencies
    • Enable any bright developer to build customized websites
    • Must run off SQL Server or XML files
  • Reading up on software factories, dependency injection, patterns and practices
  • LINQ and Workflow Foundation - virtually unknown and in early CTP - was chosen
  • Designed with all the gotchas from the previous CMS in mind

Development on Composite C1 started

Three developers, full time

  • A complete re-write from the ground up
  • Utilized pre-beta technology like .NET 3.5, LINQ, Workflow Foundation
  • Visual Studio 2008 CTP releases (pre-beta) used
  • Internal geeky goal
    • A CMS that is easy to extend at many different levels
    • A well designed piece of software that can evolve for many years to come

Microsoft's .Net Framework 3.5 released

We no longer have to develop on top of CTPs and betas

  • With .Net 3.5 released Composite C1 is no longer based on beta-ware
  • Visual Studio 2008 became RTM the month before
  • We are developing on solid ground

Composite 1.0 is released

Truthfully, it was not even prime for beta

  • Shown off at a sales/marketing event in Tivoli, Copenhagen
  • A clean app UI with MDI support, wizards
  • Support for Mozilla Firefox and Internet Explorer in the admin UI
  • Great tooling for XSLT developers
  • C1 Functions enable XSLT to get at data and users to configure renderings
  • A dynamic data type system
  • LINQ based data access
  • Runs on both XML and SQL Server without code changes
  • A very open system, easy to extend for .net developers
  • Slow and buggy beyond use

The User Interface

Still page based, but with item support, MDI and lots more


First awesome version is released

Composite C1 1.2 (SP2)

  • The release the core group would have call 1.0 with great pride
  • Noteworthy changes since 1.0
    • Stable and with good performance
    • Excellent multilingual support, integrated into the LINQ data layer
    • Package system for wizard based install of features and patches
    • Huge improvements to the end-user experience
    • A front-end developer's paradise
  • Ready for prime-time website development

Planning to go Open Source begins

We had great software, but very little attention

  • The marked was filled with commercial .NET CMS products
  • Prices for a core CMS license was falling due to open source options and competition
  • We had an excellent and modern platform, but very little attention
  • We would like to see our software grow faster, gain momentum
  • Better to get a little piece of a gigantic pie than a big piece of a tiny pie
  • Only 2-3 other open source .NET CMSs of varying technical quality

The last closed source heart beat

Composite C1 v. 1.3 is released

  • Using Task Parallel Library and based on .Net 4.0 - just released 2 months earlier
  • Easier C1 Console app development and customization
  • Support for Chrome, Safari, Firefox and IE.
  • A ton of small and large UI improvements
  • Great front-end and XSLT developer UX

Preparing the code for openness

Refactoring, API, documentation and starter experience

  • A setup guide checking conditions and with a "demo site bare bones" option
  • Automatic sync between HQ source control and CodePlex
  • Public websites and documentation prepared
  • Heavy and breaking code refactoring
    • Nearly all namespaces change to a more API friendly structure
    • Core APIs refactored, documented towards public consumption
    • All "unchecked" classes are made internal