= Linux Tools 0.6 Release Review =
Planned Review Date: 2010-06-23

Communication Channel:  linuxtools-dev@eclipse.org (https://dev.eclipse.org/mailman/listinfo/linuxtools-dev)

Author:  Andrew Overholt <overholt redhat com>

== Introduction ==
* The Linux Tools project is a two-faceted project
# Firstly, it provides tools and frameworks for writing tools relevant to Linux developers.
# Secondly, it provides a place for Linux distributions to collaboratively overcome issues surrounding distribution packaging of Eclipse technology. The project produces both best practices and tools related to packaging.
* Project plan:  http://www.eclipse.org/projects/project-plan.php?projectid=technology.linux-distros

== Features ==
* a framework for integrating native profiling tools with the CDT
* visualization, fetching, and control of LTTng traces
* GCov code coverage tool integration
* GProf integration including function-based profiling and integration with the CDT
* an RPM .spec editor with rpmlint integration
* plugins integrating the OProfile profiler with the CDT
* a Zest (GEF)-powered C/C++ call graph integrated with the CDT, powered by SystemTap
* GNU Autotools CDT additions
* plugins bridging the CDT's hover help functionality with the various open source API documentation formats; called libhover
* Valgrind integration for memcheck, massif, and cachegrind
* a tool to help building and packaging Eclipse plugins as RPMs named RPM Stubby
* change log management tools
* an editor, launcher, and data visualizer for SystemTap scripts

== New in 0.6 ==
* largely a bug-fix release
* lots of API usage cleanup and Helios compliance items done
* support for 64-bit gmon files with GProf
* BIRT visualization of GProf profiling results
* More New and Noteworthy for 0.6:
** http://www.eclipse.org/linuxtools/new-0.6/
** (will be moved to http://www.eclipse.org/linuxtools/new after 0.6 is released)

== Non-Code Aspects ==
* 0.6 contains the continued improvements in our "eclipse-build" work which aims to ease the building and packaging of the Eclipse SDK for Linux distributions.  This work is now being consumed by Fedora, Debian, and Ubuntu with other distributions hopefully joining that list in the future.  We now provide a build harness for Eclipse SDK version 3.5.2 and will have one ready for 3.6 at or soon after the Helios release.
* After our 0.1 release we did a series of screencasts with audio. They are still relevant and are all available via our downloads page:  http://www.eclipse.org/linuxtools/downloads.php

== APIs ==
* Being a pre-1.0 release, our APIs are subject to change.
* We continue to internalize unnecessarily public APIs and have done much work in this area for 0.6.  We have also worked to further reduce usage of internal APIs from underlying projects.
* We will converge on stability – and document such stability – in our APIs well before our 1.0 release.

== Architectural Issues ==
* As we work towards our 1.0 release, we will continue to better define our APIs while stabilizing them and documenting them.  We have recently begun running API tooling scans and publishing the results:  http://www.eclipse.org/linuxtools/api .
* On-going work to integrate with tracing and profiling toolkits will enable us to have more extensible frameworks with exemplary implementations.  Integration for the profiling tool 'perf' has recently been done by a community member using our profiling framework.
* Despite being user-focused, we have a few components which provide extension points:
** our profiling tool framework whose use is demonstrated by our OProfile and Valgrind integration plugins
** our ChangeLog plugin which allows for extensible parsers, formatters, and editors. The extensibility of formatters is demonstrated by our RPM .spec editor
** our libhover component. This plugin provides an extension point that defines a common documentation format for C library hover help

== Tool Usability ==
* Our releases thus far have been well-received and at present have satisfied users. This 0.6 release will hopefully grow this base of satisfied users.  In addition to improved quality through bug fixes, we hope that the increased exposure of being a part of Helios will garner more satisfied users. 
* Due to the large number of people packaging software for RPM-based distributions, our .spec editor has become one of our more popular features.
** The in-line warnings and error checking as well as templates and completion are incredibly useful features.
* Our work integrating native profiling tools like LTTng, OProfile, and Valgrind has been introduced to excited audiences. We aim to bring the power of these tools into the IDE while making them trivial to use.  Developers making use of our tools will be able to focus on their own projects and not on setting up the underlying tools.

== End-of-Life ==
* We have no end-of-life issues to discuss at this time.

== Bugzilla ==
* For our 0.6 release we will have 0 outstanding release-blocker bugs.
* We have postponed a few enhancement requests until after our 0.6 release.
* We closed over 34 bugs during our 0.6 release cycle:
https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=Linux+Tools&target_milestone=0.6&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0

== Standards ==
* Our project conforms to the following ad-hoc standards:
** Fedora RPM packaging guidelines
*** http://fedoraproject.org/wiki/Packaging/Guidelines
** Informal conventions around use of the GNU Autotools
** GNU ChangeLog formatting
*** http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html#Style-of-Change-Logs
* LTTng trace format
** http://lttng.org

== UI Usability ==
* Our project aims to conform to the Eclipse user interface guidelines.
* All of our user interface components support keyboard navigation.
* We now support interactivity of our Valgrind BIRT-generated charts and intend on further increasing our accessibility.
* All of our strings are externalized but we currently have no language packs
* Our strings are registered in Babel for use by translators

== Schedule ==
* We plan on having our 0.6.1 release as part of the Helios SR1 update
* Our project aims to release minor releases (0.5, 0.5.1, 0.6, 0.6.1, etc.) every two to three months
* We plan to spend a lot of time over the next year standardizing our APIs and getting ready for a 1.0 as part of Indigo

== Communities ==
* Our project has a strong relationship with the various Linux distributions (Fedora, Mandriva, Debian, Ubuntu, etc.) with many using our eclipse-build project's output for their Eclipse SDK packages
* The majority of our project's interactions occur on IRC (#eclipse-linux) and our mailing list (linuxtools-dev@eclipse.org)
* We have a centralized update site and use eclipse.org bugzilla for all of our planning and bug tracking
* We make use of our newsgroup for user feedback
* Our project members often speak at conferences (see below)
* Our team members maintain the following blogs:
** http://overholt.ca/wp/ (part of Planet Eclipse)
** http://akurtakov.blogspot.com/ (part of Planet Fedora)
* We interact often with the CDT project and make use of the BIRT, GEF, and CDT projects
* We are growing our community of adopters
* An update on our project's progress was given at EclipseCon 2009:
** http://www.eclipsecon.org/2009/sessions?id=466
* An update on our project's progress was given at the [http://www.grancanariadesktopsummit.org Gran Canaria Desktop Summit] in July 2009:
** http://www.grancanariadesktopsummit.org/node/194
* An update on our project's progress with respect to tracing tools was given at the [http://ltt.polymtl.ca/tracingwiki/index.php/TracingMiniSummit2009 Tracing Mini-Summit] in July 2009.
* Now that we have a standardized release process and plan, we are working to ensure that our three communities are properly nurtured at all times.
* Following our recent releases we have had a number of parties come forward to express interest in using, distributing, helping, and contributing.  Work is underway to standardize profiling and tracing frameworks and exemplary tooling.
* EclipseCon 2010 featured a number of talks regarding "the Linux IDE" and what our future holds
** [https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1203 "A world-class Linux IDE: how do we get there from here?"]
** [https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1298 "Troubleshooting Linux Systems? Come and learn what the new LTTng Eclipse plug-in can do for you!"]
** [https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1595 a birds-of-a-feather session for those interested in helping shape the future of "the Linux IDE"]

== IP Log ==
* Our IP log including information about all CQs, external contributions, and committers can be found here
** http://www.eclipse.org/projects/ip_log.php?projectid=technology.linux-distros
* A copy of our 0.6 IP log, once approved by the Eclipse Legal team, will be archived here:
** http://www.eclipse.org/linuxtools/doc/0.6-approvedIPLog.pdf