Access to Source Code

Tags ( )

After the transfer of Mori and Clockwork from Hog Bay Software, I closed access to the source code for the time being. The policy change was reflected in the update to the Company Guide, which I reproduce here for context:


Apokalypse Software Corp. regrets disappointing users of Mori and Clockwork in announcing its policy of not providing general access to the source code for these products.

While users who previously had access to the source code when it was in Hog Bay Software's hands might initially be upset at this change in policy, I hope you'll see it for the positive development and improved scheduling that it is.

The primary reason for having source availabile to you before was to permit you to customize aspects of the applications and add features which are important to you. This presents difficulties for me in the future as I continue moving these products forward. Do I change their internal workings and risk alienating you, or moving in a different direction than where your technology investments are going? It is far riskier for you, my users, as you strive to make the changes into which you've invested considerable personal effort current with the progress of the released versions. To even contemplate modifying the Mori and Clockwork requires a signficant amount of knowledge into their architecture, and the Blocks plugins interfaces on which they're based, a depth of knowledge which I will be minimizing in the coming weeks.

One of the most powerful concepts in the development of computer software is coupling, the degree to which different data and behaviors are bound to each other. It has been found that better behaved software tends to be designed such that behaviors and data are not tightly coupled to one another. This has given rise to principles of encapsulation, data-hiding and sharply defined interfaces for software components.

It is my goal to provide you with more flexibility in adding features to Mori and Clockwork than you could have from the source code, yet provide simpler and cleaner interfaces to allow you to concentrate on the aspects that are most important to you. To do this well, I will need to know where the interfaces fail to provide sufficient headroom for you, and trust you're not short-circuiting the interfaces by modifying the underlying behaviors.

It will be easier to move forward by closing access to the source code, both while I gain familiarity with them and steer them towards the future. I hope that you not only understand, but that you applaud this direction, and realize how much more significantly your voices will contribute to the future direction of these products.

Due to the increasing number of requests for access, and to provide for continued support for those wishing to extend Mori's and Clockwork's capabilities, I've re-purposed this forum for those needing information and assistance in developing their plugins. This will also allow some historical context from the old postings as well as the information they provide which might still be useful for reference.

I will be providing information on the plugin architecture as well as sample code in the coming weeks. Please post here to request any information you find wanting on the site, and any functionality wanting in the plugin architecture (as well as the rationale in case a solution has already been provided for you).

I thank you for your understanding and support for the Mori and Clockwork communities.

Alfonso