First of all, I think BSG is really a nice chess program.
Have you ever thought about open-sourcing it? I think there are developers (like myself) who would be willing to test/debug and or submit patches. I mean right now you are doing a fantastic job of developing it, but as for myself I am always slightly wary of using non-free software...
Open-Source?
Moderators: AlexChess, TedSummers
Re: Open-Source?
BSG has two parts. The core with all important chess functions, libraries has been released already as an open-source (at https://github.com/nguyenpham/Banksia) and it can run as a chess tournament manager in the form of a console app. Only the front/graphics part is still closed source.
As I have mentioned somewhere, sooner or later I will release the rest of BSG as an open-source.
The reason for keeping (only) apart as a closed source is that I want to focus and develop it intensively at a very high speed. Since the new features/functions, new improvements have been added constantly to BSG, many codes have to be reviewed, changed, and/or rewritten. That happens not only once but maybe many times. For example, the majority of code to play via the local network has just been rewritten for the current release (version 0.53). Before that, the code to manage the engine has been reviewed and rewritten in high frequency… Whenever some code has been changed/added, many functions may be affected, bugs may occur… Thus if I manage everything, I can understand any bit inside the app, keep everything in the right order. That can help me to change everything from design, algorithms to code, implementations…
If it becomes open-source, all code needs to be cleaned up and shined first (as a professional programmer I can’t accept publishing messy, low-quality code which may exist somewhere ). I need to take responsibility to explain and cooperate with other developers. Someone may be doing something I have done too. My new change may conflict with work from other people. All take time, energy and slow down significantly my current speed. I think it is not nice if sometimes I have to rip off or rewrite works from other people. The high frequency of changing design, algorithms, core functions… may irritate or even knock out any willingness to follow and help.
Thus, just wait a bit. The code will be published when I feel satisfied, or enough, or when I can’t continue for any reason. At that time, I will ask the community to help and continue.
As I have mentioned somewhere, sooner or later I will release the rest of BSG as an open-source.
The reason for keeping (only) apart as a closed source is that I want to focus and develop it intensively at a very high speed. Since the new features/functions, new improvements have been added constantly to BSG, many codes have to be reviewed, changed, and/or rewritten. That happens not only once but maybe many times. For example, the majority of code to play via the local network has just been rewritten for the current release (version 0.53). Before that, the code to manage the engine has been reviewed and rewritten in high frequency… Whenever some code has been changed/added, many functions may be affected, bugs may occur… Thus if I manage everything, I can understand any bit inside the app, keep everything in the right order. That can help me to change everything from design, algorithms to code, implementations…
If it becomes open-source, all code needs to be cleaned up and shined first (as a professional programmer I can’t accept publishing messy, low-quality code which may exist somewhere ). I need to take responsibility to explain and cooperate with other developers. Someone may be doing something I have done too. My new change may conflict with work from other people. All take time, energy and slow down significantly my current speed. I think it is not nice if sometimes I have to rip off or rewrite works from other people. The high frequency of changing design, algorithms, core functions… may irritate or even knock out any willingness to follow and help.
Thus, just wait a bit. The code will be published when I feel satisfied, or enough, or when I can’t continue for any reason. At that time, I will ask the community to help and continue.
Re: Open-Source?
Your reasoning is backwards. When things are under rapid development is the perfect time to open source. Nobody cares whether your code is "polished". People can help you fix bugs. It can only speed things up -- you don't have to accept contributions or anything if you don't want to. People have this impression that open-source is about showing off your completed product, but it's not; it's about collaboration. You have a good thing going, why not let people help you?