Hi Roland,
Those reasons not to open source seemed like they didn't have to be deal-breakers. Your reasons sound to me a little bit like "we can't have guests over because the house is a mess." (My wife tells me that in real life that _is_ a thing. :-) :-)
But the thing about open source is: you put code out there and developers get to decide on their own whether the code is okay for them to work on - maybe they even _help_ you address some of the issues you're not happy with.
I think you have to answer two questions for yourself:
1. Could you codify what behavior and code style would be acceptable to you as contributions submitted by other users. (If so, you make the rules and if no one shows up, no harm done.)
2. Would you be unhappy if someone forked your code and made a similar program, taking it in a direction that you don't approve of. (If not, open source might not be a good choice, as you can't really stop this kind of thing.)
In the case of BrickSmith, Allen put down a rule: no C++! Since C++ is my primary development language, I had to ask the question: what do I care about more - building on top of his already very complete, enjoyable to use, functional program, or using my preferred language. I concluded that while not -my- preferred choice, working without C++* was still better than writing an editor from scratch (by a lot), so I worked on the project on his terms.
Cheers
Ben
* As a side note, I now think every C++ nerd should spend a few nights actually coding in pure C, just as a gentle reminder that the world won't end if you don't have templates. :-)
Those reasons not to open source seemed like they didn't have to be deal-breakers. Your reasons sound to me a little bit like "we can't have guests over because the house is a mess." (My wife tells me that in real life that _is_ a thing. :-) :-)
But the thing about open source is: you put code out there and developers get to decide on their own whether the code is okay for them to work on - maybe they even _help_ you address some of the issues you're not happy with.
I think you have to answer two questions for yourself:
1. Could you codify what behavior and code style would be acceptable to you as contributions submitted by other users. (If so, you make the rules and if no one shows up, no harm done.)
2. Would you be unhappy if someone forked your code and made a similar program, taking it in a direction that you don't approve of. (If not, open source might not be a good choice, as you can't really stop this kind of thing.)
In the case of BrickSmith, Allen put down a rule: no C++! Since C++ is my primary development language, I had to ask the question: what do I care about more - building on top of his already very complete, enjoyable to use, functional program, or using my preferred language. I concluded that while not -my- preferred choice, working without C++* was still better than writing an editor from scratch (by a lot), so I worked on the project on his terms.
Cheers
Ben
* As a side note, I now think every C++ nerd should spend a few nights actually coding in pure C, just as a gentle reminder that the world won't end if you don't have templates. :-)