End of the Line

This post has been a long time coming, and probably won’t come as a shock to anyone who has followed the Extensible release history. Effective immediately:

  • The current 1.6.1 version of Extensible (compatible with Ext 4.x) will be the last official release of Extensible.
  • No new commercial licenses or support subscriptions will be offered. Existing commercial licenses will continue to be valid in perpetuity. Any current commercial support subscriptions will continue to be honored until the support periods have expired.
  • The Extensible source code has always been available for free under the GPL license, and will continue to be available for free for the foreseeable future.
  • There is a pull request in progress to add Ext 5.x support, but it needs a bit more work still — if someone still needs Ext 5 support that would be the place to start. Ext 6 will not be supported.
  • If anyone is interested in becoming a committer or taking over ownership of the Extensible project on Github please let me know.
  • As of Ext 6.2 Sencha now offers a built-in calendar component. All existing users should migrate as soon as possible to Ext 6.2 and switch to the built-in calendar.

That’s basically all you need to know. If you’re interested in why the project has arrived at this point, read on…

The Why

The first commit to the Extensible Github repo was on August 12, 2010 — almost 6 years ago! Back then Ext 3 was still all the rage (the infamous version 4.0 was still 8 months away from nuking everyone’s projects). I was working full-time on my own web application, an online family calendar for which the Extensible calendar was going to be the centerpiece. When I launched Extensible as an open source library, both Ext and the calendar component were the primary focus of my daily development life.

However, things change. The story today is quite a bit different:

  • I’m no longer working on the calendar-based application I was building in 2010, and in fact I have no personal need for a custom calendar component anymore.
  • Beginning with Ext 4.0, each major release of Ext (and most minor releases!) came with massively disruptive, backwards-incompatible changes. These were bad enough for typical application developers, but for someone supporting a complex library of custom components, these releases were debilitating. And it has been increasingly disheartening to see just how many breaking changes in each release are completely unnecessary, made with no regard for the impact they have on end users. Sencha has learned nothing from the Ext 4 debacle.
  • In October 2014 Sencha made the mind-boggling decision to eliminate the single developer licensing option, making a 5-developer pack the entry point to get started with Ext ($4,475 minimum as of this writing). Surprising to no one in the world except maybe the Sencha C-suite, people were not happy about it. That was the death knell for Sencha’s ability to attract new developers outside of Fortune 500 cubical farms, and by extension, signaled the end of their (nominal) commitment to open source.
  • With the announcement of Ext 6.2 just a few weeks ago, Sencha unveiled their latest innovation — a calendar component that looks and functions exactly like the Extensible calendar! To be fair, there has been a calendar example for quite some time (that I originally contributed to Sencha) but it is now an officially-supported framework component. Sencha released this without even notifying me beforehand, much less reaching out to work with me in any way. Even if I was interested in continuing the development of the Extensible calendar, Sencha unilaterally and without warning destroyed its commercial viability. Interesting strategy for fostering your own ecosystem.

The bottom line is that I have not been actively using any Sencha technologies for years (in fact, since about 2013 I’ve only been using Ext insofar as it’s required to work on Extensible). The front end JavaScript world has shifted dramatically in the past 6 years with frameworks like Angular and Ember, and libraries like React and many others (all truly open source) innovating in important ways. By contrast, Ext has become a closed, dead-end, “enterprise” shell of what it once was. Sencha’s focus on revenue above all else has destroyed their developer community, and their eagerness to cannibalize their own ecosystem speaks volumes about their values as a company.

But with all that said, at the end of the day I simply haven’t been supporting Extensible for some time at the level my customers need and deserve, and so it’s time to bring it officially to an end. I sincerely hope that Sencha takes their version of the calendar seriously and uses their resources to continue supporting and improving it.

I want to close by thanking everyone who has ever bought a license, submitted a PR or supported the project through kind words or encouragement. Extensible began as a labor of love and I really have enjoyed working on it over the years and contributing to the open source community.

Posted in Extensible, News | Comments Off on End of the Line

Extensible 1.6 Release Candidate

The first (and hopefully only) RC for Extensible 1.6 is out! Download it now.

The main goal of this release was to finalize recurrence, but there were quite a number of bug fixes and other improvements throughout.  Make sure you check out the release notes for complete details.  Here are some of the major highlights…

Recurrence

Recurrence support has been significantly improved in this release, with the demo PHP code being completely rewritten and converted to use a MySQL database rather than session storage.  As a result, the recurrence demo works better, I was able to resolve a bunch of bugs related to hacky session code, and best of all the example code might actually be useful to look at!  Make sure you look at the examples/server/README.md for details on getting the new code and database set up.

There is also a new recurrence Rule class that supports parsing RRULE strings and generating human-readable descriptions from them. Thanks to Gabe Sidler for significant contributions with that.

Sencha Cmd

Lately more and more people have been asking that Extensible be made compatible with Sencha Cmd v3 to support builds with automatic dependency management and code optimization. While the ultimate fixes required can’t be made until Extensible 2.0 (it will require making a few API changes), I’ve added some workarounds that should work for now and get people moving forward with Extensible and Cmd (without impacting the existing build scripts). If you want to learn more, have a look at this forum post for more info.

Documentation

Another nice improvement in this RC is the long-overdue conversion of the Extensible documentation center from ext-doc (aka Ext 3 style) to the fancy new JSDuck format, just like the Ext 4 docs.  They still need some work before the final release, but it’s already a big improvement over the previous version.

Toward 1.6 Final

The main outstanding task for finishing 1.6, aside from any bugs that might arise from this RC, is recurrence documentation. I’m currently working on finishing up the API docs for all of the new recurrence classes, and I’ll be adding a detailed guide specific to setting up and working with recurrence.

If you can download the RC today, test it out, and report any bugs you might find, that would really help!

Posted in Calendar Pro, Extensible, Releases | 2 Comments

Squash Variable Leaks with Siesta