Trac is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, web-based
project management
Project management is the process of leading the work of a team to achieve all project goals within the given constraints. This information is usually described in project documentation, created at the beginning of the development process. Th ...
and
bug tracking system
A bug tracking system or defect tracking system is a software application that keeps track of reported software bugs in software development projects. It may be regarded as a type of issue tracking system.
Many bug tracking systems, such as those ...
. It has been adopted by a variety of organizations for use as a bug tracking system for both free and open-source software and proprietary projects and products.
Trac integrates with major
version control system
In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
s including (
"out of the box")
Subversion
Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms. Sub ...
and
Git
Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data inte ...
. Trac is used, among others, by the
Internet Research Task Force
The Internet Research Task Force (IRTF) is an organization, overseen by the Internet Architecture Board, that focuses on longer-term research issues related to the Internet. A parallel organization, the Internet Engineering Task Force (IETF), fo ...
,
Django,
FFmpeg
FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
,
jQuery UI
jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery (a JavaScript library), Cascading Style Sheets, and HTML. Using the Shodan search engine query term cpe:"cpe:/a:jquery/jquery_ui" we can dete ...
,
WebKit
WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as on the iOS and iPadOS version of any web browser. WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the PS ...
,
0 A.D., and
WordPress
WordPress (WP or WordPress.org) is a free and open-source content management system (CMS) written in hypertext preprocessor language and paired with a MySQL or MariaDB database with supported HTTPS. Features include a plugin architecture ...
.
Trac is available on all major
operating systems
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also inc ...
including
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
via Installer or
Bitnami
Bitnami is a library of installers or software packages for web applications and software stacks as well as virtual appliances. Bitnami is sponsored by Bitrock, a company founded in 2003 in Seville, Spain by Daniel Lopez Ridruejo and Erica Bresc ...
,
OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
via
MacPorts
MacPorts, formerly DarwinPorts, is a package manager for macOS and Darwin. It is an open-source software project that aims to simplify the installation of other open source software. It's similar in function to Fink and the BSD ports collections ...
or
pkgsrc
pkgsrc (''package source'') is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently; in 19 ...
,
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
,
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: ''Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All the ...
,
Arch Linux
Arch Linux () is an independently developed, x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by following a Rolling release, rolling-release model. The default installation is a minim ...
or
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
, as well as on various
cloud hosting services.
History
Inspired by CVSTrac, Jonas Borgström and Daniel Lundin from Edgewall Software started writing ''svntrac'' in August 2003 using
SQLite
SQLite (, ) is a database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it belongs to the family of embedded databases. It is the most ...
and
Subversion
Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms. Sub ...
.
In December 2003 they renamed it to ''Trac''. In February 2004 the Trac version was changed first from 0.0.1 to 0.1 and then directly from 0.1 to 0.5. That release was followed in March 2004 by 0.6 and 0.7, and 0.8 in November 2004.
Edgewall Software is an umbrella organization for hosting edgewall.org for the community to collaborate on developing open source Python software.
It used to offer software development, consulting and support services. Some of the earliest community members to collaborate in the open source development of Trac were Rocky Burt in March 2004, Christopher Lenz and Francois Harvey in May 2004, Christian Boos and Otavio Salvador in December 2004 and Mark Rowe March 2005.
In August 2005 the license was changed from
GPL-2.0-or-later to
BSD-3-Clause. The first release under this final license was Trac 0.9 in October 2005, which among other features introduced
PostgreSQL
PostgreSQL (, ), also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the In ...
database support.
Trac 0.10, released in September 2006, was an important release that first introduced the component system that to this day allows plugins to extend and add features to Trac's core. Trac itself since this point consists mainly of optional plugin components that can be disabled or replaced entirely.
MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database o ...
database support is added as one such core component. This release added support for
version control systems
In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
other than Subversion by external plugins.
Mercurial
Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows and Unix-like systems, such as FreeBSD, macOS, and Linux.
Mercurial's major design goals include high performance and scalability, d ...
support was provided through a separate plugin due to its GPL license restrictions.
Trac 0.11, released in June 2008, changed the HTML
template system from ClearSilver
to
Genshi, breaking compatibility with many of the older plugins.
Trac 0.12 was released in June 2010 and became a stable long term release with the latest point release 0.12.7 from July 2015. It added
internationalization and localization
In computing, internationalization and localization (American) or internationalisation and localisation (British English), often abbreviated i18n and L10n, are means of adapting computer software to different languages, regional peculiarities and ...
support using ''Babel'', and allows using multiple version control repositories at once.
Trac 1.0 was released in September 2012,
the previous stable long term supported version with the latest point release 1.0.13 from September 2016. It included the previously external plugin for
Git
Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data inte ...
version control support.
Trac 1.1.1 from February 2013 through 1.1.6 from July 2015 are releases without long term support and compatibility guarantees, that turned into Trac 1.2 from November 2016.
Trac 1.4 from August 2019 is the current stable release with long term support. It requires Python 2.7 and uses the
Jinja template system.
Trac 1.6 is under active development, which works exclusively on Python3. Many of the plugins have also been rewritten to work on Python3 as well as Jinja.
Core features
Trac offers a no-frills approach to
project management
Project management is the process of leading the work of a team to achieve all project goals within the given constraints. This information is usually described in project documentation, created at the beginning of the development process. Th ...
by deeply integrating
ticket tracking,
version control
In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
(for which multiple repositories per environment are supported), and
wiki
A wiki ( ) is an online hypertext publication collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the pu ...
. It allows
hyperlink
In computing, a hyperlink, or simply a link, is a digital reference to data that the user can follow or be guided by clicking or tapping. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text wit ...
ing information between these systems, include wiki content directly in a ticket or list tickets automatically on wiki pages.
The ticket system can be used for tracking bugs, tasks, issues, incidents or any other kind of ticket. Customized reports can be generated from parametric stored
SQL queries or using an interactive ticket query system. There is also an integrated search engine and a fine-grained permission system.
Additional project management features include grouping tickets into milestones and a roadmap where the milestones and their progress are listed and visualized. The recent activity is shown on a timeline page, and users are notified by email or can subscribe to
RSS
RSS ( RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many di ...
or
iCalendar
The Internet Calendaring and Scheduling Core Object Specification (iCalendar) is a media type which allows users to store and exchange calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, an ...
feeds.
Additional features
Trac has an extensive plugin ecosystem which offers many optional features and integration with external tools, and keeps the core system simple and easy to use. Besides the core
SVN and Git support, Trac can connect via plugins to many other
version control
In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
systems, including:
*
Bazaar
A bazaar () or souk (; also transliterated as souq) is a marketplace consisting of multiple small Market stall, stalls or shops, especially in the Middle East, the Balkans, North Africa and India. However, temporary open markets elsewhere, suc ...
*
CVS
CVS may refer to:
Organizations
* CVS Health, a US pharmacy chain
** CVS Pharmacy
** CVS Caremark, a prescription benefit management subsidiary
* Council for Voluntary Service, England
* Cable Video Store, former US pay-per-view service
* CVS F ...
*
Darcs
Darcs is a distributed version control system created by David Roundy. Key features include the ability to choose which changes to accept from other repositories, interaction with either other local (on-disk) repositories or remote repositories via ...
*
Mercurial
Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows and Unix-like systems, such as FreeBSD, macOS, and Linux.
Mercurial's major design goals include high performance and scalability, d ...
*
Monotone
Monotone refers to a sound, for example music or speech, that has a single unvaried tone. See: monophony.
Monotone or monotonicity may also refer to:
In economics
*Monotone preferences, a property of a consumer's preference ordering.
*Monotonic ...
*
Perforce
Perforce, legally Perforce Software, Inc., is an American developer of software used for developing and running applications, including version control software, web-based repository management, developer collaboration, application lifecycle mana ...
Other features provided by plugins include:
* Account Manager, for user administration purposes
* Multiple project support
* Spam-Filtering
* Blog plugin
* Discussion/Forum plugin
* Guestbook plugin
*
Pastebin
A pastebin or text storage site is a type of online content-hosting service where users can store plain text (e.g. source code snippet (programming), snippets for code review via Internet Relay Chat (IRC)). The first pastebin was the eponymous ...
plugin
*
XML-RPC
XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) ''Programming Web Services with XML-RPC.'' O'Reilly. First Edition. ...
plugin, which allows other applications to interact with Trac
*
Tags plugin, for adding and managing keywords
*
Continuous integration plugins
See also
*
Comparison of project management software
The following is a comparison of project management software.
General information
Features
Monetary features
See also
* Kanban (development)
* Project management software
* Project planning
* Comparison of scrum software
* Comparison o ...
*
Comparison of issue-tracking systems
This article is a comparison of issue tracking systems that are notable, including bug tracking systems, help desk and service desk issue tracking systems, as well as asset management systems. The comparison includes client-server application, di ...
*
Software configuration management
In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision ...
*
TracExplorer - Visual Studio and TortoiseSvn Bugtraq Integration
*
Agilo for Trac
Agilo for Trac (formally known as Agilo for Scrum) is an open source, web-based Scrum tool to support the agile Scrum software development process. Agilo is based on Trac, a widely used Issue tracking system. It is programmed in Python and is di ...
is an agile Scrum tool based on Trac.
*
Apache Bloodhound
Apache Bloodhound is an open source web-based project management and bug tracking system. The program is built on top of Trac. It is developed and maintained by volunteers at the Apache Software Foundation.
The Bloodhound project was initially ...
is built on top of Trac to add multiple projects support, ease of installation and ease of use.
*
Apache Allura
Apache Allura is an open-source forge software for managing source code repositories, bug reports, discussions, wiki pages, blogs and more for any number of individual projects. Allura graduated from incubation with the Apache Software Found ...
Python based project management software
*
Kallithea
Kallithea (Greek: Καλλιθέα, meaning "beautiful view") is a district of Athens and a municipality in south Athens regional unit. It is the eighth largest municipality in Greece (96,118 inhabitants, 2021 census) and the fourth biggest i ...
Python based project management software with good code review support
*
Redmine
Redmine is a free and open source, web-based project management and issue tracking tool. It allows users to manage multiple projects and associated subprojects. It features per project wikis and forums, time tracking, and flexible, role-based acc ...
though developed in
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
its design was significantly influenced by Trac
Notes
References
External links
*
{{Wiki software
Free project management software
Free software programmed in Python
Free wiki software
Bug and issue tracking software
Cross-platform free software
2003 software
Software using the BSD license