Reviewing gedit project

Manuel Rego Casasnovas

Some rights reserved. This document is distributed under the Creative Commons Attribution-ShareAlike 3.0 license, available in http://creativecommons.org/licenses/by-sa/3.0/


Table of Contents

Introduction
Description
History
Community
License
Analysis
Source lines of code
Source Code Management (SCM)
Mailing lists
Conclusions
A. Tools
B. Instructions appendix
SLOCCount
Evolution source lines of code
Source lines of code by programming language
CVSAnalY
Evolution of commits per month
Aggregated number of commits up to time
Number of commits per author
Lorenz curve
Number of commits by author per year
Mailing List Stats
Evolution of messages per month
Messages by domain name
Messages by top level domain
References

Abstract

gedit is the GNOME text editor. The project has been growing since the beginning of GNOME to become a powerful general purpose text editor. This article gives an overview about this project, studying historical data from different sources: packages, repository, mailing lists, ...

Introduction

This article tries to make an analysis of the gedit project from the historical point of view. The information used to redact this document was gotten from different sources like released versions, source code management, mailing lists, ...; using some tools like SLOCCount, CVSAnalY, Mailing List Stats, ...

Description

gedit is the official text editor of the GNOME desktop environment, it is a small and lightweight UTF-8 general purpose text editor. Its aim is the simplicity and ease of use, however it is a powerful editor.

gedit is part of GNOME from the beginning of the project. It uses the latests libraries from the GNOME stack, including GTK+ as graphical toolkit. Providing a complete integration with the GNOME environment. It is a common example about how to develop a GNOME application and find examples about how to use the different libraries.

The main features of gedit are:

  • Full support for UTF-8 text.

  • Syntax highlighting for various program code and text markup formats.

  • Support for editing remote files.

  • Common undo/redo and search/replace operations.

  • Complete preferences system.

  • Configurable and flexible plugins system, with optional Python support.

History

The history of gedit is linked to the GNOME project. GNOME was started in 1997 as an alternative desktop to KDE, because of Qt widget toolkit was not free software. As any desktop, GNOME needed a text editor, and gedit was started in April 1998 (first commit at SVN repository).

Nowadays, gedit is more than a simple text editor, it has a lot of features and a powerful plugins system. Making it extensible, flexible and useful for more complex tasks that just edit plain text.

Community

gedit is part of the core of the GNOME project from the beginning, which means that its community is, in some way, the whole GNOME community. The fact of belonging to a such large community, makes possible to take advantage of other efforts and share efforts with other people. For example, version 2.26 is translated into 88 languages and gedit developers do not have to take care about this issue.

As any free software project, gedit has its own mailing list and IRC channel, as well as it uses the GNOME Bugzilla. All these tools help to manage the communication between the users and developers of the project (see more).

License

gedit is released under the GNU General Public License (GPL) version 2, as most GNOME projects.

There are just some files licensed under GNU Lesser General Public License version 2, and this is because of these files belongs to external libraries (libegg and libsexy) used in gedit. Moreover, libsexy is already deprecated and it is just used if GTK+ version is less than 2.15.0.