Jonah Harris wrote: > We could also mention all the Ingres-based offshoots that were > commercial. Let me think of some other examples... but there may not > be that many seeing as there aren't really that many PostgreSQL-like > communities. I guess I could mention more if I had a clear > understanding of what we mean when we say, "community".
That's something that bothers me as well: The article and the discussions talks about the community, but what's The Community? There really isn't any clear definition, the closest thing is the list of committers or core members, but I don't think anyone considers The Community to be just the committers, though that's the group of people whose opinions matter the most when trying to get a patch accepted. I don't think it's fruitful to spend time on a precise definition, but it's important to realize that there isn't one and that the community consists of individuals with different priorities, opinions and points of view. Therefore it's a bit meaningless to say that The Community thinks this or The Community says that. On one topic, some people might have a very strong opinion one way, and others might just not care at all. On some topics, everyone agrees. And on some topics, people strongly disagree. And that's ok. Respecting all the different viewpoints leads to a well-balanced product. How does that affect a company trying to get a patch accepted? First, do no harm. If you're proposing something that for example brakes someone else's application, your proposal is likely to be rejected. Or if you're proposing a patch that increases the performance of something, at a very high cost on some other things, your patch is likely to be rejected. Another kind of harm that many people miss is the maintainability of the codebase. Adding complexity for little gain is likely to be rejected, just because it'll make the code harder to read. Secondly, getting a large feature accepted is easier if you're not just dumping a large patch to pgsql-patches, but you're committed to maintainting it and developing it further. Remember, some things you might have ignored as not important might be crucial to other people. Also, a note to all Members of The Community: people like to work in different ways. Some might want to seek acceptance and commitment to a feature from others before starting development. Some might want to write a large up-front design document before proposing something. Some might want to write an experimental patch with a lot of quick hacks and no comments, and refine that according to feedback. And we, The Members of The Community, if I may count myself as one, don't get to choose how others prefer to work. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com