Bugzilla:About Bugzilla Quality: Difference between revisions

m
→‎Conclusion: fix category alphabetic sort
No edit summary
m (→‎Conclusion: fix category alphabetic sort)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Some people might be curious about the quality of Bugzilla code and the development process it goes through, so I ([[User:MaxKanatAlexander Max Kanat-Alexander]], one of the primary developers of Bugzilla) have written this essay for the manager or end-user who might be evaluating Bugzilla or have concerns about open-source code.
Some people might be curious about the quality of Bugzilla code and the development process it goes through, so I ([[User:MaxKanatAlexander|Max Kanat-Alexander]], one of the primary developers of Bugzilla) have written this essay for the manager or end-user who might be evaluating Bugzilla or have concerns about open-source code.


Bugzilla is the de-facto standard in open-source bug-tracking because we create a quality product. Our rate of development easily parallels or surpasses commercial firms with more paid developers than we have volunteer developers, while maintaining a well-respected level of quality. Here's how we do it:
Bugzilla is the de-facto standard in open-source bug-tracking because we create a quality product. Our rate of development easily parallels or surpasses commercial firms with more paid developers than we have volunteer developers, while maintaining a well-respected level of quality. Here's how we do it:
Line 23: Line 23:
=== Fully-Tracked Changes ===
=== Fully-Tracked Changes ===


Even tiny changes must be fully documented in the bug-tracking
Even tiny changes must be fully documented in the bug-tracking system, with full justifications for the change and a specific patch posted directly to the bug report. This rule is enforced largely by necessity--a vast number of our contributors don't have access to our version-control system, and are located across the world from each other. Thus, they '''must''' file a bug and post a patch in order for us to even know about it. Contrast this to a commercial development environment where developers are ''supposed'' to post changes to the bug-tracking system, but don't necessarily always ''have'' to do so in order to actually get code checked in.
system, with full justifications for the change and a specific patch
posted directly to the bug report. This rule is enforced largely by
necessity--a vast number of our contributors don't have access to our
version-control system, and thus '''must''' file a bug and post a patch in
order for us to even know about it. Contrast this to a commercial
development environment where developers are ''supposed'' to post changes
to the bug-tracking system, but don't necessarily always ''have'' to do
so in order to actually get code checked in.


=== Code Review ===
=== Code Review ===
Line 74: Line 66:
various different versions of Perl in various different configurations
various different versions of Perl in various different configurations
to assure that the code is not broken and follows our quality
to assure that the code is not broken and follows our quality
standards. Any failure of this test suite will warn the developers who
standards. Any failure of this test suite will warn the developers, who
are forbidden to check any other code into version-control until the
are forbidden to check any other code into version-control until the
problem is fixed.
problem is fixed.
Line 103: Line 95:
=== Testing on a Major Installation ===
=== Testing on a Major Installation ===


Usually before a major release, bugzilla.mozilla.org will
Usually before a major release, [https://bugzilla.mozilla.org bugzilla.mozilla.org] will upgrade to our latest development code. This is a Bugzilla installation with tens of thousands of active users, and over 400,000 bugs filed.
upgrade to our latest development code. This is a Bugzilla installation
with tens of thousands of active users, and over 400,000 bugs filed.


=== QA ===
=== QA ===
Line 116: Line 106:
and their results.  
and their results.  


The QA manager is himself one of the primary developers of
The QA manager is himself one of the primary developers of Bugzilla.
Bugzilla.


Any serious bugs found by QA are fixed before the release, and
Any serious bugs found by QA are fixed before the release, and
Line 137: Line 126:
* If you encounter a bug in Bugzilla, and it has been fixed but the release isn't available yet, you can easily get the patch from our bug-tracking system or from our version-control system, both of which are fully available to the public.
* If you encounter a bug in Bugzilla, and it has been fixed but the release isn't available yet, you can easily get the patch from our bug-tracking system or from our version-control system, both of which are fully available to the public.
* If you encounter an issue that hasn't been fixed, you not only have the code, and can fix it yourself, but you have an entire community of contributors and users who can advise you and help you fix it.
* If you encounter an issue that hasn't been fixed, you not only have the code, and can fix it yourself, but you have an entire community of contributors and users who can advise you and help you fix it.
* The primary developers of Bugzilla are available easily and we provide support directly to users. I myself am the most frequent writer on the Bugzilla support mailing list, and nearly all the developers are available through IRC and provide support to the many users who come by. (Note that I myself ''managed'' an entire technical support department as the senior technician for a commercial software company before I started my own business providing Bugzilla services, and I am now personally providing support for Bugzilla directly to users.)
* The primary developers of Bugzilla are available easily and we provide support directly to users. I myself am the most frequent writer on the Bugzilla support mailing list, and nearly all the developers are available through IRC and provide support to the many users who come by. (Note that I myself ''managed'' an entire technical support department as the senior technician for a commercial software company before I started my own business providing Bugzilla services, and I am now one of those people providing support for Bugzilla directly to users on IRC and the mailing list.)
* Bugzilla isn't dependent upon a single entity for support or development. In commercial software, if a firm fails and nobody buys their intellectual property, releases are ended forever. With Bugzilla, even if all the developers were to suddenly disappear, development could be continued by any entity. Witness Linux--in the 1990's, various Linux companies went bankrupt, but other successful companies (like Red Hat) were still able to continue and provide Linux as a product, because it's open source.
* Bugzilla isn't dependent upon a single entity for support or development. In commercial software, if a firm fails and nobody buys their intellectual property, releases are ended forever. With Bugzilla, even if all the developers were to suddenly disappear, development could be continued by any entity. Witness Linux--in the 1990's, various Linux companies went bankrupt, but other successful companies (like Red Hat) were still able to continue and provide Linux as a product, because it's open source.


Line 147: Line 136:


And if it didn't, then you could fix it yourself.
And if it didn't, then you could fix it yourself.
[[category:Bugzilla|About]]
242

edits