| Hello Itamar, for me actually the problem is totally a different one, that Matt’s rants have a lot of slides and jokes but no clear arguments or no arguments I recognize as valid. I’ll show point by point his arguments and why they are IMHO flawed.
The thing is, between jokes and memes, and putting some random argument that “looks” have some merits inside, it is easy to fake a sensation of “real content” that is not there. Examples of his points and why I believe they are wrong. 1. Redis is too complex and has too many components and protocols. The programming community begs to differer. Redis is an example of a non trivial system software that a single individual can understand and modify easily. Matt points as "thins to parse" to CSV fields with a space inside, and as a "yet another protocol" to the cluster bus that uses a C structure sent over the wire, for which using the normal Redis client protocol would be extremely suboptimal. 2. We have obligations towards Redis users but for Salvatore Redis is hobby++. Actually his vision about merging stuff liberally is exactly the irresponsible practice that should be avoided. Not only he does not spend time to improve the basis and doing serious code reviews to other peoples code (or if he does, it does not show up), but also often his own code is written in an informal way without understanding the cascading side effects he could have. Yet he focuses on adding things to Redis, not checking what the bugs could be. There are other people contributing in a different way. For example Sun He fixed a number of issues in Matt's quicklist code just reading the code as soon as the code was posted. To be responsible is to write sane code, and especially, instead of writing just new code, focusing a lot into fixing existing code. Another thing that is for me extremely odd is fixing things with a commit that happens to work, and commenting that it apparently works but the reasons are not clear and hand waving about a "possible" cause. For me this is not system programming. 3. Focusing for 5 minutes on the README -> README.md switch is just not having points. 4. Delay of Redis Cluster. Even if this was addressed many times with: we had a not good enough single-node story to focus on Cluster so this was delayed many times is apparently not enough. It is clear and obvious, so citing this again and again is just an attempt to find an argument to attack. (there is more but useless to continue -- it is clear it's a very different POV) So what to do to improve Redis? To do the actual work that is hard to do, reviews, fixes, small incremental improvements, submitting code that is designed well in the first instance, and so forth. Shocking talks are just a useless display of memes. |
Your arguments are exactly what I had wished for - your POV is just as crucial and my only regret is that we didn't "demand" that you go on stage then and there to present it - I would have certainly stayed for that and the ensuing discussion no matter how long it would have lasted after closing time (although, in second thought, that would have been extremely unfair as you would have been pushed into a tight spot w/o preparation, so I take that back). I could offer my views on each of the points but that's hardly relevant IMO, useless :)
What really pains me is seeing you two beautiful and smart individuals, who are passionate about the same thing, disagreeing so heatedly over these issues. I think (hope?) I can see where each one of you is coming from and to me it doesn't look like your goals are that different. Perhaps the nature of an open source community is such that such topics needs to be vented out in public - /me don't know. I sincerely hope that the core team will find a way to overcome these differences because despite of (or maybe because of) them, from a bystander's POV, it looks to me like you have a good thing going - together and backed by an amazing community.