Hi,

I spent some time reading the mailing list and irc logs. Because of the
distributed nature of the communications channels, the discussion is
difficult to follow if you are not at the right time in the right place.

What follows is a summary of the ideas floating around as I understood
them. It may help us make a decision or maintaining the discussion
constructive. I haven't put names (or source urls) in this summary
because of the extra time needed (that I don't have) and because, at the
end, it doesn't really matter. Incompleteness and misunderstandings on
this document are my responsibility and I'll be more than happy to
correct them.

Several developers feel that Padre is at a point where some stability is
expected. While this is extremely good news for a young project like
ours, it also means that "fast moving target" releases from the
beginning are --or should be-- behind us: users rely on our project to
do their work.
Also, Padre is now released by third parties (e.g. GNU/Linux
distributions) where a specific Padre version is included and only
security enhancements are accepted afterwards. A broken or sub-par padre
version is damaging for future adoption. While everyone seems to agree
on principle, it has been remarked that it may be appropriate to
postpone the move to a more conservative release management when we hit
the 1.0 version in the near future.

A new Release Process will explicitly take into account the time needed
by Release Managers (release notes, announcements, etc) and translators
(freeze of strings). A proposed solution is the creation of a stable (or
release) svn branch, something possible within present infrastructure.
An alternative is moving to github which seems to make merging easier.
Both propositions would also mark the shift to a more controlled
development model where branching and code reviews would be required. We
should also invest time in running manual GUI testing while researching
automated alternatives at the same time (e.g. litmus).
Experimental branches and freezing of branches could be integrated in
these approaches.

New features should be first implemented as plugins and -when mature-
possibly merged into core. Besides the classic "1 feature, 1 plugin"
approach, there is the proposition of an ExperimantalFeatures plugin to
lower the code effort. However, it has to be noted that this will made
the merging effort more complicated. Nevertheless, additions and changes
of the Padre plugin API are needed because the many things that plugins
are not able (or allowed) to do yet in Padre.

A often heard remark is that we all want to reduce the number of bugs
and release a stable Padre while not making development too complicated.
The codebase must be accessible and understandable to many Padre
developers. Documentation and and planning will help in this endeavour.

On what concerns the development (team) model, a proposition was put
forward to restrict the core developers team to the more experienced
developers (like PostgreSQL) and limit this way the introduction of new
bugs. The counterargument, on the other hand, is that keeping the
threshold low to participate in Padre development may reduce the
workload of leading developers. New of less experienced developers can
take care of more trivial bugs and enhancement requests, specially
taking into account that Padre itself is written in Perl where every
user --a developer!-- is a potential Padre developer.

Claudio
_______________________________________________
Padre-dev mailing list
Padre-dev@perlide.org
http://mail.perlide.org/mailman/listinfo/padre-dev

Reply via email to