Hi Everyone, This was a good week. We got a number of patches from the community and four different submitters introduced breaks. I needed to refine at least three patches. I think its a good time to share my philosophy, and open it up for debate.
First, Master needs to be mostly stable. Users expect it and we advertise it. Everything that hits master is reviewed and smoked tested before rigorous, multi-platform testing. If there's a break, then we need to catch it before the first user's 'git pull'. Second, stagnation is a killer. Before Wei turned the library over to the community, the library was suffering stagnation. Wei did not have time to maintain it, and there was no one available for the duties. Third, perfection is the enemy of the good. We want perfect code but its not a realistic goal. If we waited for perfect code then the project would stagnate and eventually die. We will pursue perfection and catch excellence. Fourth, you can't make an omelet with breaking eggs. If someone is not breaking things, then they are not getting anything done. Check-ins and the occasional break tells me the code is moving and not stagnate. Fifth, we learn from our mistakes. If you submit a bad patch, then don't dwell on it; instead, simply learn from it. Pick yourself up by your bootstraps and keep moving forward. Sixth, learning from mistakes and is not license to lower expectations. Each time I broke the code, I looked beyond the instance problem and questioned why it happened in the first place. I then placed controls to stop future breaks. Of all the controls that can be placed, we achieve the highest yield from cryptest.sh and additional self tests. I've been tracking bug reports and performance of cryptest.sh. cryptest.sh detected 78% of the bugs before users experienced them. The script caught every problem introduced this week. If you are submitting patches, then it would behoove you to run cryptest.sh on your integrated changes or risk being tarred and feathered by users. Seventh, my role in all this is a steward. The library belongs to Wei and the community. My job is simple: look out for the library and its users. There are at least five others who can do what I do. I happen to be the most forward facing because stagnation is a killer. With all that said, I think things are working as expected and we are hitting our stride. The code is moving forward at a good pace, and each release gets more stable. We are catching mistakes before users see them. We are pursuing perfection and we have captured excellence. Any questions, thoughts or objections? Jeff -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.