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