Hi list,

The PySide: Python for Qt project was launched in public on August 18, 2009 
(just missed the birthday - dammit!). At the public project onset, PySide was 
rough and unfinished; the whole binding generation toolchain was different and 
produced much larger and buggier bindings, the bindings were not even close to 
product quality, and of course the community was nonexistent.

Now, things are in a much better shape. The project has matured, and we have a 
considerable user base for both the generator toolchain and the bindings, and a 
vivid community around the project. Of course, there are still work to be done 
and features to be added (Python 3 support is one of the biggest issues at the 
moment), but then again, the only completely stable project is a dead one. :-)

Currently, the vast majority of the PySide core development is done by the 
OpenBossa INdT team in Brazil and funded by Nokia's MeeGo Computers team - the 
PySide project has internally been an enabler for the MeeGo 1.2 Harmattan 
Python project. Unfortunately, the Nokia N9 is the only MeeGo (Harmattan) phone 
to be published by Nokia, and Nokia's MeeGo team is being ramped down already 
in the near future. Because of this, the Nokia MeeGo funding for PySide is 
slated to end after this year, and I have also failed to find a new sponsor for 
the project within Nokia.

So, what are the implications? What I hope and believe will happen is that the 
project is already sufficiently healthy to stay alive and grow without Nokia 
acting as a midwife. This would imply the community to take a leading role in 
both the project guidance and actual development. This can of course happen in 
several ways. First, independent open-source developers may pitch in. Second, 
there are many companies using PySide by now. They might want to contribute to 
PySide due to their own interests. Third, there might be some companies 
providing support and services for PySide. (INdT?) Finally, their might be some 
company with sufficient interest to take the main responsibility for future 
development.

No matter what the future path for PySide is, there are some issues to be 
solved.

The project leadership: I've been the self-appointed project lead because I've 
been the Nokia representative and have therefore controlled the development 
goals for the core dev team (or so they've led me to believe, anyway). 
Obviously, this kind of an arrangement doesn't work in an open project. There, 
authority must be based on meritocracy, but I believe some kind of formalized 
leadership would still be good to have. A project council of 3-5 people, maybe, 
representing different kinds of people participating, including developers and 
users? How would it be formed? Elections? Who'd get to vote? Ideally, there 
should be some new form of project leadership in place well before the end of 
this year to ensure smooth progress. Personally, I'm interested in contributing 
to the project even on my spare time, but I believe the most I can do is to 
continue in the (very lightweight) role of the PSEP editor (unless nobody wants 
to take over), do general sysadmin stuff, or work on the documentation here and 
there.

Core development: At the moment, vast majority of development is done by the 
core dev team. There's been little incentive for others to participate because 
bugs are fixed reasonably rapidly and new features have also been implemented 
actively by the core developers. On the flip side of the coin, the project 
might be a victim of their proficiency because no-one else currently knows the 
codebase very well or participates much in the actual development. Also, any 
decisions related to the core development aren't really discussed in public at 
the moment, which has worked well to speed up the development, but it also 
forms a bit of a barrier of entry for participation. Assuming that the majority 
of the future development is not done by the current paid-for developers, this 
of course needs to change as well. Basically, development and development 
decisions need to be discussed in public. IRC works well for meetings and 
discussions of a small groups but not so well for a heterogeneous developer 
community. I think this is mostly a matter of habits and culture, but I'm not 
sure about the ways to facilitate the change, though.

Development structure: Currently, the core dev team defines quite independently 
their own processes for e.g. code reviews and merging. These should be 
formalized a bit and adapted to suit heterogeneous development: who 
specifically are the people allowed to do code reviews and merging and who 
chooses them? IMHO, for knowledge transfer and for widening the developer base, 
it would be essential to have new people in these roles as soon as possible but 
they also need to be chosen based purely on their merits.

Development facilities: Most of the development facilities (repositories, 
Bugzilla, etc) are already in the public, but some are not (buildbots used for 
testing new commits, in particular). I think the buildbot has been very useful 
for Q&A, but how to do that in an open project? Everything else is easy and 
cheap to have but that requires a bunch of physical servers which someone needs 
to maintain. Are there any open services for such purposes?

I'd love to hear your opinions, comments, and concerns on PySide future and how 
to best organize things.

Cheers,

ma.

_______________________________________________
PySide mailing list
PySide@lists.pyside.org
http://lists.pyside.org/listinfo/pyside

Reply via email to