Chris's vision of an open source project:

"In a modern healthy open source project, activity is focused around
source code. It's right there in the name. I want to see a future
where there is some person or persons "X" who maintain a git repo from
which the official TiddlyWiki core is built. Surrounding this are a
community of people who use it with some segment also providing help
with documentation and bug reports. Meanwhile there are several active
forks of the core. One belonging to me, one to FND, one to Jeremy, one
to Martin, one to Eric, some belonging to people I've never heard of.
Changes to the core are primarily driven by pull requests (patches in
old sk00l) coming from these forks. That is _code_ is the engine of
change. Person or people X are committed to responding quickly to bug
reports helping to clarify and reduce those that are actionable,
disposing those that are junk. They are also committed to announcing
plans for the next release cycle, managing a beta release process, and
doing regular releases (about every month or so depending on the bug
bandwidth)."

I would also like to see this happen. Indeed it is one of the things I
tried to get going (but based on developer branches in subversion
rather than code forks (in, say, git)). When I started working on
TiddlyWiki I made a lot of effort to try and get people to use
subversion so that it would be easier for them to be involved in the
development process. Unfortunately there was little take-up. I did
have some minor success in that I managed to get all of Osmosoft using
subversion (and this was no mean feat - software configuration
management was not in the bones of any of the original Osmosoft team,
apart from Paul and myself). One of my regrets is that despite my best
efforts I never managed to persuade Eric to use subversion.

"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'...

... 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."

I think this is unfair. Any TiddlyWiki changes that break
compatibility, or even might break compatibility are made into tickets
and put on the release roadmap. Typically each point release has 15-20
tickets and there is plenty of time between a ticket being put on the
roadmap and the release including that ticket - indeed the main
complaint is that the release process is too slow. I don't understand
the accusation that plugin developers need to "scramble and catch up".


Eric said:

"I used to push hard for core changes.  I'd write tickets, create
patches (which I couldn't actually submit), publish CoreTweaks (to get
a viable solution into the field quickly), and spend a lot of effort
advocating for putting fixes (*small ones*) into the core.  At my
request, we periodically had lengthy (and somewhat contentious)
conference calls to discuss open tickets, and I'd regularly (daily)
review all code submissions to look for possible red-flags (in terms
of impact on the installed base).

Unfortunately, *most* of the time, it seemed there was a significant
amount of resistance to making core changes (except for changes
originating within Osmosoft), and the response was typically along the
lines of "well, if Eric has a plugin/CoreTweak for it, then it doesn't
belong in the core."  Except... for many cases, the plugin/tweak that
I created was just a 'monkey patch' of the core code, and really was
intended to provide a more immediate solution (and some real-world
field testing) so that TiddlyWiki users can achieve their goals
without waiting for "the next release" to fix their problems."

Although it may not have been visible, I was a considerable advocate
for Eric in incorporating his changes into the core, often against the
judgement of others at Osmosoft.


Chris said the things he's trying to accomplish are:

1 "Core maintainers should be responsible for announcing changes in
good time and providing suitable beta periods (in the order of weeks
not months)." [1] * "[these changes] 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" [1]
2 "A driving force behind moving to github is to remove both the
perception and reality of any Osmosoft priority over priorities." [2]
3 "There are 350 tickets in trac.tiddlywiki.org described by one of
the reports as 'active'...What does that say about the development
process and about the ticket handling process? Nothing good." [2]
4 "The point is that ticket handling and management, the social
process surrounding tickets, is _broken_." [2]

Some comments on these:
1) Changes are announced in good time - tickets are placed on the
roadmap well in advance of their implementation. Having said that I
agree that an improvement in "attentiveness, accessibility and
responsiveness" is required.
2) I think the move to github will make development easier, but in
itself won't change the perception of Osmosoft's priorities. The old
adage: "Don't expect a technological change to solve a social problem"
applies. I welcome the move to github (it will make core maintenance
easier), but I don't expect it, in itself, to change perception.
Having said that, introducing new working practices along with the
change to github, can change perception.
3) "There are about 350 tickets described by one report as active."
The trac ticketing system is used by things other than TiddlyWiki. The
"really" active tickets for TiddlyWiki are those on the roadmap: 3 for
milestone 2.7, 81 for milestone 2.7.1 and 11 for milestone 3.0. Now I
agree that that is too many (and an effort to prune them is underway)
- input on which tickets to prune has been solicited.
4) "The point is that ticket handling and management, the social
process surrounding tickets, is _broken_." Agreed. Any suggestions on
how to revive this process would be welcome.

"The tyranny of the legacy"
I think this is a difficult area. One of the reason I take a fairly
conservative approach is that there is no plugin upgrade mechanism for
TiddlyWiki. Which means if a user upgrades their tiddlywiki and it
stops working it is actually quite difficult for them to get it
working again. Even if the plugin developer has upgraded their plugin,
the plugin is not upgraded automatically when the user upgrades their
tiddlywiki.

Take ticket #472 - invalid tiddler IDs (due to spaces). Although this
meant that some users TiddlyWikis were technically incorrect - they
still worked and were completely usable. However fixing this bug could
render some TiddlyWikis unusable on upgrade, even if the plugins that
relied on this erroneous behaviour had been fixed by their authors.
Perhaps I erred too much on the side of caution here - on the other
hand there certainly wasn't a strong call from users or plugin
developers that this issue needed fixing.

Some of my comments above may sound like they are defending the status
quo - they are not meant to be. Rather they are explaining some of the
reasons around why things are as they are. Chris pointed out:

"Critical to this is communication; dynamic and full-throated dialog
that does not languish. Tickets are a good example where this falls
down for TiddlyWiki, but so is this group: There's _very_ little talk
about the state of the core on this group. It's generally about
plugins."

He's right - there is little discussion about the state of the core
and where people would like to see it moving. Even when there were
major changes to the core (the addition of jQuery, for example) there
was not much discussion.

Chris also said:
"The move to github, etc will will not make enough of a difference
unless people other than Jeremy and Martin--who have been
insufficiently attentive, accessible and responsive--are enabled to
have some responsibility for the core.

Does that make it clear enough? What I mean is that they haven't done
a very good job for the two years I've been observing and we need to
change things so that other people can have more direct impact: You.
Me. FND. Person X."

Agreed - other people need to get involved. There may be some inertia,
but there is nothing actively stopping people from getting involved.
And this involvement doesn't have to be directly contributing code.
Opinions of which direction they'd like to see core development taking
are also welcome.

Martin

On 10 February 2011 12:21, rakugo <jdlrob...@gmail.com> wrote:
>>
>> Extra thought: THANK YOU!  This is the discussion we've been needing
>> for YEARS!
>>
>> -e
>
> I couldn't agree more.
>
> --
> 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.
>
>

-- 
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