On Thursday 26 April 2007 05:25, David Boyes wrote: > > This refers to the fact I will not be happy to have to spend any more > of > > my > > time on this bug, and when I am not happy about events, I usually take > > some > > steps to avoid their re-occurrence in the future. > > I expect the bug to be fixed and quickly, but this is a volunteer > project > > so > > it is up to you guys to decide. > > While I can understand frustration when something seems to be slipping > through the cracks, I'm not sure that continuing to criticize Robert and > Landon in public is accomplishing anything useful. An off-list > discussion between the three of you may be more fruitful. >
Perhaps you are right, and I understand that a number of people may be surprised or even shocked to hear a certain level of criticism because generally most all criticism has done off list. In this case, there is a much bigger issue here, and the subject merits discussion. I've specifically copied the Bacula users list on this email so that everyone can see my point of view The main issue here is that my time is limited. It does not scale with the size of the project. As a consequence, I have decided that I will not personally "support" all platforms, as I have done in the past. Note, this is a personal decision, and criticisms of this decision such as "your reasons are not valid" don't hold water with me when it concerns how I use my own time. For a platform to be officially "supported" by Bacula, I feel there are a minimum of three things that are required. This is nothing new, it may not have been explicitly stated, but it has always been part of the Bacula project philosophy: 1. The regression scripts are run regularly and on demand. 2. The platform is fully documented in the manual. 3. There are one or more persons that will respond to platform specific bugs in a timely basis. I will put the above someplace in the manual or perhaps the Developer's Guide so that it is clear. Please note, that there are many other Client packages that are "known to work". They may be partially documented in the manual, but no regression scripts are run on them, and bug fixes come from submitted patches. Such packages are not "officially" supported as Linux, Solaris, FreeBSD, and the Win32 client have been. I will continue to do the above tasks as I have done in the past for Linux (in particular the platform I am running, and to a lesser extent for the Win32 Client, though that really should be 100% handled by a Windows person). The point was/is that I will no longer provide the above services for Solaris, FreeBSD, and Win32, which means that unless something changed, they would be no longer supported. The status of those are as of today: Solaris, FreeBSD: Item 1: regression testers "signed" up. Item 2: already documented in the manual Item 3: problematic, but I will work with the regression testers until appropriate developers are found. In any case, these platforms have very few problems since their underlying API is the same as Linux in most cases. They will very likely remain supported, but there is still a lack of developers for them. Windows (note we are talking about the new server code rather than the client): Item 1: Unknown Item 2: Documented in a README but not in the manual. Item 3. Unknown. I do not offer to work on the servers, and this platform needs a good deal of developer attention because the underlying API is significantly different from Unix/Linux. ============ What you may not understand because I haven't been able to clearly formulate it until now is that this decision, and more particularly certain of the reactions to it have profoundly changed the nature of the Bacula project. Up to today, the project has worked a bit as follows: 1. Kern is project manager, but does not want to be a "gate keeper". 2. Developers are quickly accepted into the project and in a very short period (typically a week or so) have full SVN write permission. 3. There are growing numbers of contributions (very good). a. Some contributions come in the form of relatively small patches, which Kern reviews, integrates, documents, tests, and maintains. b. The other source of contributions, which is also growing (very good) has been direct commits from developers. Typically, I look at these submissions in a summary fashion. For most of the code submitted in this way, I have not reviewed it in detail, and have not integrated it (the developer did so). However, I generally document it in the manual, write the regression test if any, test it, and then maintain it. c. A minority of the developers (there are thank God some), take full responsibility for writing the code, posting as patches so that I can review it as time permits, integrating it at an appropriate time, responding to my requests for tweaking it (name changes, ...), document it in the code, document it in the manual (even though their mother tongue is not English), test it, develop and commit regression scripts, and answer in a timely fashion all bug reports -- even occassionally accepting additional bugs :-) 4. Now what I have realized is Item 3.a will continue and is a normal event for any open source project. Item 3.b is unsustainable because it does not scale (my time is limited), it is not very professional because the code is not really fully supported, and in the long term will slow down development of the project (IMO). This mode of development is going to disappear. Item 3.c is a sustainable way of going forward with Bacula, and the direction that the project will be taking. It is not in itself a complete solution to the lack of developers, but it is a *big* step forward. For example, in the past, we have had some very dedicated programmers who did major projects as described in item 3.c, however, those programmers due to outside obligations (job responsibilities change of job, school duties, ...) could not continue to maintain the code. In those cases, the code suffers from lack of maintenance, sometimes I patch it, sometimes not. In the end, the code gets dropped from the project (there are two such contributions that are heading in that direction). So, this current "frustration" as you call it has accelerated the process of transitioning from a development environment as described in 3.b to one described in 3.c. In the future, you will see me acting more as a gate keeper rather than simply accepting all submissions, and developers will have slightly less freedom for direct commits (changes in items 1 and 2). Tightening the development requirements and acting as a gate keeper doesn't particularly please me, but I see no other way of going forward. I've started the process by documenting it above (it will go into the development manual), in addition, I have removed all the developers from the project who have not already signed the FLA (Fiduciary License Agreement). None of them had write access to the SVN, and so there seems to be little reason to keep them listed. If any of those developers would like write access or to be re-listed, I'll be very happy to discuss it and add you back, please contact me off-list. ===== I have previously mentioned this, but perhaps it merits being said again. Concerning my personal use of time in Bacula, much of it will continue as before, though new code will now be handled in a different manner with much more responsibility placed on the developers rather than on me. The other major aspect is that I will be focusing my efforts on helping Bacula penetrate the "commercial" sector, and I plan to do that by working with 3rd party Bacula professional service companies to provide quality support Level 2 support to commercial clients. My contribution will be to help these service companies get recognition, standardize their methology, provide certification of their services, help them obtaining contracts, and providing level 3 support to them should they need it. The primary goal of this is to ensure wide spread qualified "independent" professional support for Bacula so that enterprises will have a real alternative to the commercial backup vendors. I won't explain all the details here, but this will also significantly improve the margins of these 3rd party support organizations that are often financially squeezed between their clients and the commercial backup vendors. The benefit of the above will be more contributed code to Bacula, wider use of Bacula, Bacula being used hence tested in much more demanding environments. I think it is a win-win-win (Bacula project-support companies-users) situation except perhaps for the commercial backup vendors. Best regards, Kern ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users