About bif
Bif is a distributed bug tracker with a command-line interface. It helps
you manage tasks and issues using a local database, exchanging updates
with remote 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.
This flexibility comes with minimal additional complexity; bif commands
are designed for consistency and ease of use.
Bif should eventually run on any system that supports Perl and SQLite,
but at present tests are only successful on Linux and BSD systems.
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
Bif (or other user interfaces based on bif) may also be suitable for
companies with business-to-business relationships and within
multinational organisations.
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:
The high costs of 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.
When your network connectivity is unreliable
It is a difficult task to maintain communication and status tracking
within a distributed project when the data network is an uncertain,
or expensive resource. If developers can check in code, but can't
update the bug tracker because they are travelling, productivity
drops. When you cannot always link your project data with internal
systems (e.g. billing) then other business functions can suffer.
When your success depends on factors outside the project organisation
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.
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.
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 and then
send mail to .
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 .
Documentation
The main entry point for reference documentation is the bif manual.
After installation you should be able to access it by running "man bif"
or "perldoc bif". You can also browse the documentation table of
contents at .
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
* Operating system distribution integrators
* 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!
Development
For those comfortable with git, development takes place on the "dev"
branch of the git repository, with communication via the development
mailing list.
git clone git://bifax.org/bif.git --branch dev
cd bif
See the bif-doc-dev document for information on how to hack on bif.
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 . Other contributions
are listed in bif-doc-changelog.