About bif
Bif is a distributed bug tracker with a command-line interface. It helps you manage tasks and issues locally, exchanging updates with hub databases on demand. The tool has several features of interest to distributed project teams:
- Offline Operation
-
Many bif actions work offline; you can create and update tasks and issues while disconnected from the network.
- Inter-project Cooperation
-
Bif issues (and tasks) can be linked with (or copied to) multiple projects, mirroring the inter-project relationships that exist in the real world.
- Timesheet Management
-
Those who need to accurately report their project efforts can take advantage of bif's build-in time-tracking functionality.
This flexibility comes with minimal additional complexity; bif commands are designed for consistency and ease of use. Bif should run on any system that supports Perl and SQLite.
Who is bif for?
Bif is typically useful for software development teams and other distributed project organisations. Bif could work for you if the following statements resonate:
You are comfortable working in a command-line environment
Your team is spread across different locations
Your projects have external dependencies
Interfaces based on bif (not developed yet) could also be suitable for other kinds of non-technical users with distributed communication needs: helpdesk function, business-to-business relationships, multinational organisations, etc.
What problems does bif attempt to address?
In addition to the generic problems facing every project organisation, bif aims to answer the following specific challenges:
- Uncertain network connectivity
-
It is a difficult task to maintain good communication and status tracking within a distributed project when the data network is an unreliable or expensive resource. Efficiency and productivity are improved with a local tool.
- External dependencies
-
Projects can experience time and cost difficulties when they have external dependencies. Keeping track of the status in someone else's issue tracking system is a thankless, manual process. If you can't find the resources to do so then the lack of coordination leads to duplication of effort, delays, or important issues falling through the cracks.
- Command-line/browser context-switching
-
It takes a certain amount of effort to get your mind fully into a good edit/compile/test cycle. Switching contexts to record your progress in a browser is a painful and inefficient way to break up your day. You would be better off going for a walk.
Software Status
Although functional, bif is still under active development. Documentation and tests are incomplete, and the database schema changes regularly. DO NOT USE BIF FOR REAL DATA! We are actively seeking contributors. See below for how you can help.
Installing
As a Perl wrapper around an SQLite database, bif depends on several packages from the Comprehensive Perl Archive Network (CPAN). Bif and its dependencies can be easily installed system-wide with the cpan
tool which is a standard part of Perl.
sudo cpan App::bif
Note that some of the dependencies require a C compiler to build.
Alternatively you might find the right pre-compiled binary for your system at http://bifax.org/bif/download/.
Documentation
The bif-doc-intro document contains an easy introduction to bif. The main entry point for reference documentation is the bif manual which you can read with man bif
or perldoc bif
. You can also browse the documentation table of contents at http://bifax.org/bif/doc/.
Development
Development is centered around the "dev" branch of the git repository, with communication via the development mailing list (see "Community Organisation" below).
git clone git://bifax.org/bif.git --branch dev
cd bif
The bif-doc-dev document contains detailed information on how to set things up and hack on bif.
Contributing
You do not have to be a developer to contribute to bif! It is arguable that many key aspects of successful open source projects have more to do with the community and non-development contributions than technical skills. Help would be appreciated for practically anything:
Editing the reference documentation
User-interface consistency checks
Website design
Blogging & advocacy
Translation - no framework in place yet though
Packaging - integrating bif into your favourite distribution or platform.
Perl / SQLite test writers (many tests needed!)
Software architect? The overall design could use a big dose of third-party analysis.
Security Analyst? Feel like starting a bif-doc-security document or otherwise letting us know which vectors are most vulnerable? I find it important to put some effort in here before bif becomes (if ever) widely used.
Big-picture thinker? How could the bif model of information distribution be applied to address books, slow-changing datasets (e.g. country lists, currencies), business transactions, etc.
Financial sponsorship would also be more than welcome.
What long-term project members lose relatively quickly are those fresh eyes and first impressions that easily identify missing, broken and unexplained things. Therefore feedback from first-time users, both positive and negative, is extremely valuable. Please get in touch!
Community Organisation
Bif is community supported software, and the community expects (and should offer) respectful communication with all of its members.
- Website:
- Code Repository:
-
git://bifax.org/bif.git/
- Issue Tracker:
-
Doesn't exit yet.
- Mailing List:
-
Subscribe via http://www.freelists.org/list/bif-devel and then send mail to <bif-devel@freelists.org>.
License
Bif is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program, and all material accompanying it, is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Credits
Bif was started by Mark Lawrence <nomad@null.net>. Other contributions are listed in bif-doc-changelog.