I say this as it was a defect, but I’m actually not sure if it is a defect indeed.
I can’t stand secrecy and this is something I felt to say some time ago, but I ended up not saying anything, but as now I can’t sleep, I suppose I might as well say this so that I can get rid of another weight on my thoughts.
Of course this is not a generic “secrecy” thing, I suppose there are things that have to remain secret, like personal feelings and stuff like that, that shouldn’t be opened up too easily, to avoid injurying yourself when other people misunderstand them.
There is also the secrecy needed for Police operations and similar, which of course can’t be simply ignored or underestimated. But those things I leave to CIA, MI6 and “our national” SISMI/SISDE (it’s so secret that you don’t actually hear it talked about that much here, well of course, unless one of its men is killed by friendly fire).
But again, those are not my concerns. What concerns me is secrecy in Free, Open Source Projects. By definition, why there should be secrecy in Free, Open projects? It does not make much sense, does it?
Why should someone develop something in a closed circle, would it be a softwre or an idea, or a project or whatever else? Why people have to “surprise the world”? One of the good things about Open Source and Free Software is that you can check the things yourself, no more “factory secrets”, no more “surprise moves”, at least for some aspects.
It’s still understandable that companies like Sun and Apple release their code under “surprise”, after developing it secretely, but this is just because those are commercial projects that lives on selling a product, rather than on its development.
I’m not referring to a single issue, I think I seen this happening too many times before, and every time, I still wonder why oh why people have to be so egocentric. Why I say egocentric? Because I can’t find any other reason for secrecy.
Let me precise, there are things that has to be handled in limited groups, like on gentoo-core when it’s matter of organising Gentoo itself or developer conferences or stuff like that, or the private Summer of Code mailing list where opinions, ideas and bug reports are exchanged between mentors and Google staff. There are channels that are correctly +s (secret) because they are “service channels” (like #gentoo-infra), but the most of the secret channels are pointless, actually they are dangerous for Free Software (unless they have a public accessible “mainline” channel, and the secret is just for “slow noise” development).
I don’t like secrecy, and I’m somehow having problems even to accept the secrecy behind Summer of Code mentoring. I don’t trust secrecy, either by actions or by obfuscating: I don’t trust code that’s written in ways that are not understandable by public.
Maintenance is important as much as information availability, if a software is writte in such a way that only a guru can understand it, as free (on paper) it can be, as quick, as performant, as optimised it can be, I find it a bad idea to use and support.
Myself, I always try to give as much information on what I do, even on what I plan to do. My blog is also for this, I actually often blog on things before even starting them, and then, I try to keep anyone up to date on what my status is with that. You’ll never hear me talking about secret stuff. I like to think that this is something people like of me (although I still find hard to think that people like me in any way :P), and if in the past I’ve fallen on accepting exceptions to this rule, I’ll always do my best in the future to not end up stuck in “secret plans”.
Freedom (in software) is something you conquer with ideas and actions, and with freedom itself. Freedom conquered with secrecy is not true Freedom.