I just arrived back home from a long holiday, and although I didn't feel like diving into the discussion from my iPhone on the beach, my fingers were itching to dive into this discussion. Sorry for being late to it! A lot of good remarks were made, I'll try not to reiterate them.
From my perspective, the main issues raised in this thread are:
1) PMS architecture
2) SVN vs. Git
I'm really missing The Big Picture. Currently, PMS is as is. Sure it has bugs, but it works and the code is its own documentation.
Sounds fine, but for me as a programmer that is really suffocating to not be able to extend something knowing things won't topple on the other side of the application. This whole concept of "Breaking Change" scares the crap out of me!
I think PMS should put its foot down more visibly. "*This* is PMS, *this* is what it wants to do, *this* is how it does it and *this* is what you can do to make PMS dance to your plugin." Well, something like that.
One of the first things we should do is to freeze and expose PMS's API interface. This will allow people to shuffle code in the implementation as they see fit, without breaking anything. And second we should document better, as in "why does the code what it does?"
From there on, bugs can be fixed and features can be added at will. The API can even be expanded or (breaking though!) changed.
We should make up our minds on which one to support: SVN or Git.
As you have noticed, we have been working on a Mavenized version of PMS to get some experience in the matter (I was away, so I haven't kept it in sync). My personal opinion is that - given the number of custom builds and the community's need to patch - Git would definitely fit the community nicely. And Maven would simplify maintenance a lot as well (just check the number of file commits needed for an official release for example).
I think we should make up our minds, and then push for whatever we choose. In Git/Maven's case by setting a version and a date at which it will be released. Otherwise we're never going to take the plunge into the deep.
For now, it would be nice if you could wait out the verdict on this one. I find that keeping track of different sources in SVN and Git is quite a hassle and once you start rewriting and working on from that, it will only get worse. If we choose to go the Git route, it will be wiser to fork from there - once we've set it up properly. From the patches that I saw (on my iPhone
) you submit nice code with nice to haves for PMS.