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

Reply via email to