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.