> TiddlyWiki suffers from something that might be called the tyranny of
> the legacy[1]. It's captured in the idea that it is up to the maintainers
> of the core to go out and search for plugins that might be harmed by
> changes to the core.

There is no "tyranny" of the legacy.  But there *is* a world-wide
community of TiddlyWiki users that expects and depends upon a
*reliable* upgrade process... and disregarding the impact of core
changes on the community is extremely short-sighted.  It is highly
irresponsible to make changes to *any* codebase and not consider the
potential harm those changes might cause to current users.

If you want to develop a piece of code in an ivory tower... then go
ahead.  But I deal every day with the *practical* issues of keeping
the TiddlyWiki community healthy, growing and thriving.  The attitude
you espouse, quite frankly, seems to be one of "the community will
just have to cope with whatever we decide to do, even if it means a
lot more work for them".

In my opinion, this "toss it over the wall" approach is at the heart
of the real problem with the TW core development process, and the
failure to reliably and consistently communicate a *detailed* upgrade
'story' has been the single most influential reason that TiddlyWiki
hasn't been as widely adopted as it could have been by now, especially
for commercial, mission-critical business uses.

My previously posted suggestion, that the core team try to check 3rd-
party plugins for their potential failure during core upgrades, was
absolutely *not* advocating that the core team does the work of
*maintaining* those 3rd-party plugins.  Clearly, that responsibility
falls squarely on the shoulders of the plugin authors.

Nonetheless, the core team should do everything possible to facilitate
the efforts of plugin authors to keep their code viable and up-to-date
with the latest core code rather than putting the onus onto the plugin
developer to scramble and catch up.  It seems to me that the core team
is in an ideal position to perform at least a cursory *investigation*
of the potential impact of core changes on existing plugin code, and
then report their findings publicly, so that plugin developers can
more quickly and reliably revise their code.

Of course, this assumes that the plugin hasn't been orphaned and that
the developer is actually paying attention to core changes.
Unfortunately, even if the developer *is* actively involved in plugin
maintainence, it is still extremely easy for core changes to 'sneak
up' on him.  The problem is that, without better communication from
the core team, the impact of impending core changes on existing
plugins is rarely apparent to the plugin developers unless they are
extremely diligent in tracking those changes *and* they have
sufficient understanding of the TW core architecture to recognize the
potentially very subtle effects those changes can produce.

> Plugin maintainers should be responsible for tracking the core and
> keeping up to date as needed, or stating that their plugins require an
> older version.

Yes.  They *should*.  But, failing to do that, it still falls on the
TW core developers to properly *communicate* the expected impact of TW
core changes, and provide *whatever assistance is needed* to ensure a
successful upgrade path for all TiddlyWiki users who want/need to
upgrade.

> The nature of TiddlyWiki makes it so that people who don't want to
> upgrade don't have to: Their stuff is all there and already working.
> If they want new stuff, it is _new_ stuff, which they have gotten for
> themselves. This isn't like upgrading iTunes and suddenly you can't
> play your oog files.

Oh.. but it is!  Many people *attempt* to upgrade their documents,
only to find that the core changes break their existing installed
plugins... and, because they have no idea what has changed in the core
(and most users wouldn't understand the code anyway), they *cannot*
resolve the problems themselves.

As a result, they either:
  A) abandon the attempt to upgrade their documents (which further
isolates them in a *legacy* document environment),
  B) post a desperate message on the GoogleGroups (e.g. "Help...
everything broke!")
  C) try to investigate the cause and find a work-around (assuming
they have both the time and the skills to do so).
  D) and finally, if they do manage to isolate and identify which
plugin(s) are failing, they *might* actually try to contact the plugin
author to report the problem.

If they are *lucky*, the plugin developer is already aware of the core
changes, and has had the time to revise their code accordingly, so
that the end-user solution is simply to upgrade the affected plugins
and get back to work.  This assumes, of course, that the plugin author
is able to determine why and how the core changes break their plugin
code, and that a fix or work-around can be readily implemented.

> A healthy open source
> project "should move more rapidly and be more responsive". The fact
> that this bug, and many other bugs, languish gives the impression
> that the project is neither healthy nor maintained, which we _know_ is
> not true, so how do we change things so that that impression is not
> given?

... and, failing to ensure that the upgrade process is smooth and
uneventful for the end-user gives the impression that TiddlyWiki is an
unstable "hobby" project that *cannot be relied upon* as a safe place
to keep your important information (which we *know* is not true?!?)

> The move to github is an effort to shake things up, blow out the dust
> a bit, but it will not make enough of a difference if there is not a
> fundamental change in the attentiveness, accessibility and
> responsiveness of the people responsible for the core.

"the people responsible for the core"...

Do you mean the *entire TiddlyWiki community* or just the folks at
Osmosoft that are actually permitted to submit changes to core
code???  Your statement seems to reflect the current view that
Osmosoft "owns" the core code and that other potential core
contributors are 'on the outside, looking in'.  Regardless, my
suggestion that the core team try to identify and report on
potentially affected 3rd-party plugins goes directly to the issues of
'accessibility' and 'responsiveness' that you mention.

For example, in the recent discussion of ticket #472 ("tiddler ID's
with spaces"), I described some of the coding issues, and suggested
some specific search text that should locate *most* (if not all)
instances of plugin code affected by the proposed core change.  I also
included a small example of the change in coding usage that the core
change would require.

It seems to me that providing this kind of detailed "tech note"
information to plugin developers should be an integral part of *every*
core upgrade notice (especially alpha/beta announcements), and would
go a long way towards improving the current negative feeling in the
community that there is a *lack* of accessibility and responsiveness
on the part of the core team.

-e

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To post to this group, send email to tiddlywikidev@googlegroups.com.
To unsubscribe from this group, send email to 
tiddlywikidev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/tiddlywikidev?hl=en.

Reply via email to