Just a reminder that open-source software is a collaboration, not a product. Please adjust your expectations accordingly.
Proprietary software is a product. You acquire or pay for something and expect it to do the job you paid for it to do. Open-source software is a collaboration. Each person using it is thankful that he or she did not have to write the software from scratch to meet his or her needs. Each person who needs it to behave differently customizes it as needed for his or her needs, then contributes those changes back to the project so that others do not have to duplicate his or her work. Because open-source software is a collaboration, not a product, the burden of making the software work the way the end-user wants it to work falls on the end-user, not the project management team. Also, because it is a collaboration, the end-user has no right to support for the software. Any time someone helps someone else with the software, it is because they want to do so, not because they are obligated to do so. Some practical applications of this are: 1) Filing requests for enhancements that you do not have any intention to implement is pointless, unless you've already gathered the support on the mailing list to implement the enhancement at some point, typically by finding others who want the same functionality. Sometimes the support is there, but it's a low priority, and filing such an enhancement serves as a reminder. 2) Complaining about how Cayenne works differently than you expect when you do not have any intention of implementing the new behavior is pointless. This is another variation of point 1). 3) Since all assistance and discussion is voluntary, exhibiting poor communication skills will lead to no one talking to you. This includes berating those who try to help you. It also includes asking too many questions in too short a period of time since there is only a limited amount time volunteers are willing to donate. 4) Sometimes you will have the right attitude and a real problem, but you will get no help. Typically, this means that no current member of the community has had the same problem, nor any ideas what is causing your problem. It could also mean that they are too busy with their own tasks to help you at this time. This means you will have to isolate the problem yourself and fix it yourself. All that said, newcomers to the Cayenne community often comment on how helpful and available the Cayenne community is compared to other software collaborations. Not only are most questions answered, but guidance is typically available for implementing enhancements to the code.