Version Control & Software Configuration Management (SCM)

  • Version Control Systems Comparison
    Este é um comparativo de sistemas de controle de versão. Ele se divide em diversas categorias e sub-categorias nas quais os sistemas foram avaliados.
    By Better SCM Initiative.
  • Subversion or CVS, Bazaar or Mercurial?
    Four open source version control systems compared. By John Ferguson Smart, 2007-09-18, JavaWorld.com.
  • Revision control
    From Wikipedia, the free encyclopedia. Revision control (also known as version control) is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing evolution of digital documents like application source code, art resources such as blueprints or electronic models and other critical information that may be worked on by a team of people.
  • Software configuration management (SCM)
    Roger Pressman, in his book, Software Engineering: A Practitioner's Approach, says that software configuration management (SCM) is a “set of activities designed to control change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made.” In other words, SCM is a methodology to control and manage a software development project.
  • RSPA - Software Configuration Management (SCM)
    Software Engineering Resources by R.S. Pressman & Associates.
  • Configuration Management II Community
  • CM Crossroads
    The Configuration Management Community.
  • Buildix
    By ThoughtWorks. Buildix is an integrated open source software distribution to easily deploy a ready-to-use Agile development infrastructure for enterprise environments: either run Buildix from a LiveCD, or install it on an existing Ubuntu system.
    Buildix includes: Subversion for Source Control, Mingle for Agile Project Management, Cruise Control for Continuous Integration, Trac as a wiki and bug-tracker, plus a little bit of ThoughtWorks own magic to glue it all together.

Subversion

SVN Clients

CVS - Concurrent Versions System

Created by Dick Grune in the 1986 and released under the GNU General Public License, CVS has become very popular in the open source software world. CVS used to be the most common version control system in 1990s. Since still widely in use, it can now be considered a legacy system with these downsides:

  • Slow tagging and branching;
  • Difficulty renaming or moving directories;
  • Lack of atomic commits;
  • Poor support for binary file formats.

Distributed SCM

Distributed SCM systems are based on a distributed philosophy, with no central server repository.

  • Mercurial
    Mercurial is a distributed version control system, dedicated to speed and efficiency with a sane user interface. Mercurial is a fast, lightweight Source Control Management (SCM) system designed for efficient handling of very large distributed projects. It is written in Python and is free software under the GNU General Public License (GPL) v2.
  • Bazaar
    Bazaar is a distributed version control system available under the GPL, that reduces barriers to participation in your project. Bazaar is designed to support GNU/Linux, UNIX, Windows and the Mac OS.
  • svk
    svk is a decentralized version control system, written in Perl. It uses the Subversion filesystem but provides additional, powerful features. svk plays well with others, it can mirror remote Subversion, Perforce, and CVS repositories to perform offline operations. svk was originally developed by Chia-liang Kao since his sabbath year in 2003, with the help from SVK people and generous sponsors. Currently maintained by Best Practical Solutions.

    Book: Version Control with SVK.
    SVK from Wikipedia.

Other

  • Perforce
    The Perforce Software Configuration Management System features comprehensive SCM capabilities built around a scalable client/server architecture. Users can access the Perforce Server through a range of Perforce client software. Perforce can be deployed quickly and easily, and requires minimal administration even for large or distributed sites.
  • IBM Rational ClearCase
    IBM Rational ClearCase provides life cycle management and control of software development assets. With integrated version control, automated workspace management, parallel development support, baseline management, and build and release management, Rational ClearCase provides the capabilities needed to create, update, build, deliver, reuse and maintain business-critical assets.
    Local, remote and Web interfaces. Linux, Windows, Unix and mainframe (z/OS) development support. Rational ClearCase is seamlessly integrated with Rational ClearQuest for a complete software configuration management solution.
  • Borland StarTeam
    Borland StarTeam provides a complete range of software change and configuration management solutions designed to meet the needs of all development teams according to size, geographical distribution, and work style.
    A robust platform for coordinating and managing the entire software delivery process, StarTeam promotes team communication and collaboration through centralized control of all project assets. Protected yet flexible access ensures that team members can work whenever and wherever they like through an extensive choice of Web, desktop, IDE, and command-line clients.
  • Microsoft Visual SourceSafe
    Visual SourceSafe is a version control system product that delivers restore point and parallel collaboration capabilities, thus allowing application development organizations to work on several versions of software simultaneously. The version control system introduces a check-in and check-out model in which an individual developer checks out a file, makes changes, and then checks the file back in. Other developers typically are not able to make changes to a file while it is checked out. Source code control systems also allow developers to roll back or undo any changes that later create problems.
  • Source Control: Anything But SourceSafe
    Coding Horror - programming and human factors, by Jeff Atwood, 2006-08-16.
    Visual SourceSafe: Microsoft's Source Destruction System, by Alan De Smet.
  • OpenCM
    OpenCM is designed as a secure, high-integrity replacement for CVS. While not as feature rich as CVS, it supports some useful things that CVS lacks. Briefly, OpenCM provides first-class support for renames and configuration, cryptographic authentication and access control, and first-class branches.
  • GNU Arch
    GNU arch is a revision control system, similar in purpose to tools such as CVS, SCCS, and Subversion. It is used to keep track of the changes made to a source tree and to help programmers combine and otherwise manipulate changes made by multiple people or at different times.
    GNU arch has some features that make it particularly useful for public free software projects: it's easy to learn; it's inexpensive and easy to administer; it's a distributed system so there's no need to give write permission to every project participant; it has excellent support for the kinds of branching and merging that can make a free software project team shine.
  • Serena ChangeMan ZMF (commercial)
    Software configuration management for the mainframe, by Serena Software.
    By the makers of Program Version Control System (PVCS) - PVCS Version Manager & PVCS Tracker, formerly from Merant.
  • Monotone
    Monotone is a free distributed version control system. It provides a simple, single-file transactional version store, with fully disconnected operation and an efficient peer-to-peer synchronization protocol. It understands history-sensitive merging, lightweight branches, integrated code review and 3rd party testing. It uses cryptographic version naming and client-side RSA certificates. It has good internationalization support, has no external dependencies, runs on Linux, Solaris, OSX, Windows, and other unixes, and is licensed under the GNU GPL. Vengeance.
  • Vesta Configuration Management System
  • Aegis
    Better SCM Initiative: Aegis.
  • Darcs
    Darcs is a revision control system. Darcs is simple to learn and use, with a powerful new approach to meet the needs of today's distributed software projects. Darcs is decentralized, based on a "theory of patches" with roots in quantum mechanics. Darcs is free software, licensed under the GPL. Created by David Roundy.


Continuous Integration

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. [Fowler]

  • Continuous Integration
    Article by Martin Fowler, with a quick overview of continuous integration technique and its current usage.
  • Wikipedia: Continuous integration
    Continuous integration describes a set of software engineering practices that speed up the delivery of software by decreasing integration times.
  • ThoughtWorks CI Feature Matrix
    There are many Continuous Integration systems available. This page is an attempt to keep an unbiased comparison of as many as possible of them.
  • Hudson
    Extensible continuous integration engine. Hudson monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Hudson focuses on the following two jobs: (1) Building/testing software projects continuously; (2) Monitoring executions of externally-run jobs.
    Meet Hudson and Use Hudson.
  • Cruise Control
    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build technologies, and notifications schemes including email and instant messaging. A web interface provides details of the current and previous builds.
    CruiseControl wiki.
  • JetBrains TeamCity
    Distributed Build Management and Continuous Integration Server. By JetBrains.
  • Anthill OS
    Anthill OS is the original Build Management Server that started the space when it was released in July of 2001. By Urbancode.
  • Apache Gump
    Gump is Apache's continuous integration tool. It is written in python and fully supports Apache Ant, Apache Maven (1.x and 2.x) and other build tools.
  • Apache Continuum
    Continuous Integration and Build Server. Apache Continuum is an enterprise-ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems. Whether you have a centralized build team or want to put control of releases in the hands of developers, Continuum can help you improve quality and maintain a consistent build environment.


Issue & Bug Tracking
Help Desk & Customer Relationship Management (CRM)

  • JIRA by Atlassian (commercial / free non-profit)
    JIRA is a J2EE-based, issue tracking and project management application developed to make this process easier for your team. JIRA has been designed with a focus on task achievement, is instantly usable and is flexible to work with. JIRA comes in 3 editions - Standard, Professional and Enterprise. Product licese types: commercial, academic and open-source/non-profit.
    JIRA - J2EE-based Issue Tracking and Project Management thread em TheServerSide.COM.
  • FogBugz (comercial)
    FogBugz is a complete project management system for software teams. By Fog Creek. Designed by Joel Spolsky of Joel on Software fame, FogBugz helps you make better software by tracking, prioritizing, and coordinating the thousands of small tasks a development team has to do. FogBugz is web based, so everyone on the team always sees the whole picture. Feature requests, customer email, bugs, even high level design discussions are instantly searchable and trackable.
    FogBugz for Windows (IIS, MSJet/MySQL/SQL Server), FogBugz for Unix (Linux/FreeBSD/Solaris/Mac OS X, Apache httpd, PHP, MySQL).
  • Request Tracker (RT)
    RT is a free (GPL) enterprise-grade ticketing system, efficient, flexible and intelligent. RT is written in object-oriented Perl. By Jesse Vincent, Best Practical Solutions (fsck.com Project), since 1996.
  • Bugzilla
    Bugzilla Bug Tracking System is a spinoff from the Mozilla group. Implemented in perl with MySQL as a back end, its robust, highly configurable, immensely matured and used by a number of high-traffic web sites. Web, email, XML and console interfaces/APIs.
    mozilla.org Bugzilla.
  • Mantis Bug Tracker
    Mantis is a free popular web-based bugtracking system (feature list). It is written in the PHP scripting language and works with MySQL, MS SQL, and PostgreSQL databases and a webserver. It is released under the terms of the GNU General Public License (GPL).
    • Mantis Bug Tracker Wiki
      Mantis Feature List, Contributing to Mantis ,Mantis Reviews and Press, Manual, Forums, Mantis Recipes (HOW TOs), Mantis Related Tools, Requirements, Instant Mantis, Mantis Distributions, Developers' Corner, Mantis Frequently Asked Questions (FAQs).
    • Anonymantis
      Anonymantis is a set of PHP scripts that allows your users to report bugs that go straight into your Mantis bug tracker, without ever having to allow them any access to the tracker itself. In order to use Anonymantis, all you need to do is add an anonymantis user (mark the user as a 'developer') in Mantis, and enter in the appropriate configuration parameters in config.inc.php, and enjoy.
  • GNATS
    The GNU Bug Tracking System.
  • Trac
    Integrated SCM & Project Management. Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. It also provides a web interface to Subversion. Trac is an open source project run and hosted by Edgewall Software.
  • Track+ (GPL / commercial)
    Trackplus is a web based issue/bug tracking and project management software. Track+ is free for the first 5 users and for use by charities and open source projects, available under an open source license (GPL) at Sourceforge. Otherwise commercial license with full functionality is available. Track+ Features Overview.
  • itracker
    itracker is an open source issue tracking system licensed under the LGPL. itracker is built using Java enterprise technology. itracker is a professional, easy to use, open, integrable, fast, modular, customizable and scalable solution for all kind of projects.
  • BUGS - The Bug Genie
    "BUGS - The Bug Genie" is a tool for posting, following up and managing bug reports for software development and other project that needs issue tracking. It has all the features you would want from a modern bug-tracking system, and is under active development. It is 100% open source software, and we listen to our users feedback and requests.
  • Linas.org: Tracking Tools for Linux Ferramentas de Atendimento, call center, acompanhamento/rastreamento de bugs e gerenciamento de projetos, com foco para ambiente Linux/Unix. Referências por Linas Vepstas.
  • Serena Business Mashups - Next Generation TeamTrack (commercial)
    Application Lifecycle Management (ALM) solutionsfor the enterprise, by Serena Software.
  • Bugzero
    By WEBsina. Bugzero is a web-based bug tracking, defect tracking, issue tracking, and change management system used in a distributed team environment to track software bugs, hardware defects, test cases, or any other issues. It can also be used equally powerful as a helpdesk customer support, trouble ticketing, or email management system to collect and manage customer feedbacks, incidents, requests, and issues (ActiveLog).
    Compare Bugzero with other bug tracking software.
  • Help Desk . Com
    Help desk software and CRM solutions directory on the Internet. Software Directory.
  • ConcourseSuite by Concursive (commercial / open source)
    Open source Community Edition, commercial Enterprise Edition. Java Web based CRM with sales management, help desk, document management, project management and collaboration software. In one integrated, chronological view you get: Activities, Assets, Communications, Documents, Notes, Opportunities, Quotes, Relationships, Tasks, Help Desk Tickets.
    Formerly Centric CRM.
  • LBE Help Desk Software
    LBE Help Desk software provides a computer helpdesk and web enabled help desk solution, helping you to improve customer service and automate your customer service.
  • HelpSTAR
    Help Desk Software by HelpSTAR.com provides the glue that binds the people, things (assets), and processes (information flows, task flows) that comprise modern enterprises.
  • BridgeTrak Suite
    Help Desk Software by Kemma Software.

Issue/bug tracking systems listings and comparisons