242
edits
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 | |||
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 | * 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]] |
edits