View GNOME projects

Source: Internet
Author: User
Article Title: View GNOME project. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
The compilation and maintenance of Linux/free software projects depend on the contribution of network community members. In this sense, projects are actually like open big families. They open their doors to friends at any time, attracting more and more participants. Members of the community are working hard for the development of the community and are delighted with the continuous growth of the project. So how does a Linux project go from Sprout to robust? How is its community organized and expanded? Let's start with the most familiar GNOME project.
  
   What is a GNOME project?
GNOME is a Linux and a variety of mainstream Unix GUI desktop systems. At present, many free applications have been developed on GNOME, such as the word processing software Go, spreadsheet software Gnumeric, calendar program GNOMEcal, and graphic image processing software GIMP comparable to PhotoShop. Like KDE, GNOME plays a vital role in the development and application of Linux in the desktop field.
  
Unlike KDE, GNOME does not have many self-developed tools. Instead, it tends to integrate existing X applications, allowing users to choose any window management programs (generally WindowMaker and Enlightenment ). GNOME also has its own Office software GNOME Office, which is also a free open-source software. GNOME's application development uses the same Bonobo based on CORBA, similar to Microsoft's OLE2.
  
GNOME desktop environments include:
  
◆ GNOME desktop applet, capplet, panel, wm interaction (sm, pager, rootmenu, etc.), desktop (icons, file manager );
  
◆ GNOME development platform GTK +, GNOME Widgets, Component Model, FS, imaging, SM, and i18n. the main technologies are bonobo, XML, and imaging (including Gnome-Print );
  
◆ GNOME Office AbiWord, Gnumeric, GIMP, Dia, Eye Of GNOME (EOG), GNOME-PIM, and GNOME-DB.
  
More importantly, GNOME is a large-scale GNU free software project created by many people through cooperation. In the GNOME community, most people voluntarily participate in the project and only maintain the project in their spare time. some people also work full-time by means of employment, but it only accounts for a small part of the entire community. It can be said that GNOME's success and even the future depend on these community contributors. at the same time, the participation and support of some commercial companies also contribute to the development of this project.
  
   Organization form and joining method
GNOME is maintained and collaboratively developed by a group of like-minded people on the network. People who participate in the community will find that everyone maintains close contact via E-mail and IRC on the Internet. maybe the person who works with you is a cutting-edge developer. Think about it and you will think it is an interesting and exciting job. Like other free software communities, this community is always welcomed. It is not difficult to join the community. log on to its official website http://www.gnome.org and provide detailed instructions on the objectives at http://developer.gnome.org/documents/joining-gnome/index.html. After understanding the general information about the project, you can apply.
  
The first step to apply to join the community is to require applicants to select fields of interest based on the GNOME project category. In fact, not only programmers can join the community, but the development of GNOME projects requires talents from various aspects, such as example artists, file writers, and translators (various languages for localization) web designers, software testers, software package personnel, user interface designers, and other types of staff. As long as you are good at something and willing to serve the community, the community will try its best to discover your potential for use. In general, GNOME projects are available in the following areas (GNOME sub-projects ):
  
◆ Access program. The purpose of this work is to improve the accessibility of GNOME, from Gtk + small window to terminal reading users can achieve access, and provide support for a variety of special hardware devices.
  
◆ Document. This is a huge task of GNOME, including user documentation (such as Manual, user FAQ, GNOME introduction) and developer documentation (such as GNOME Technical Whitepaper, Developer Guide, Developer FAQ, and API documentation ). In addition to writing documents, you can also edit and sort indexes. This task currently requires a large amount of support.
  
◆ Graphics. GNOME requires several different types of graphics, which are applied to webpages, desktops, menus, and special applications.
  
◆ Package. This not only includes package of source code, but also release software packages, source code of programs updated from CVS, and packaging for release and installation.
  
◆ Quality inspection. This effort is essential to make GNOME as stable, efficient, and low-Bug as possible. It mainly tests program scalability, picks out bugs, and reports them to the GNOME error tracking database.
  
◆ Sound. Different types of sound are required in GNOME desktop events, programs, and games. At present, GNOME's sound system is limited to a limited series, and there is an urgent need for human hands to make high-quality, expressive sounds.
  
◆ Translation. If GNOME is to be accepted by more users in the world, localization is one of the tasks that need to be improved and has been included in the future development plan of GNOME. This workload is huge-a complete translation is required for each language, including a dialog box, a menu, a string of buttons for each application, and a user manual. Now we often encounter local localization issues when using GNOME that comes with Red Hat 9.0, which shows the necessity of this work.
  
◆ User interface. This project is short for GUP, and the user interface design makes GNOME easier to use and access.
  
◆ Webpage design and development. The GNOME website is a field where community members are active frequently and a window for external access to GNOME projects. Therefore, this work is particularly important. Developers are required to know how to write PHP, MySQL, WML, or other scripts.
  
◆ Program development. It mainly refers to the development of applications in the desktop system. This work does not limit the participants to make choices in the established projects-competent people can make a new attempt to reflect their creativity. If you participate in development in this area, you can have the opportunity to work and think with other excellent GNOME developers and learn more experience and knowledge from them.
  
◆ GNOME platform development. The platform is a series of libraries and tools on which applications are built.
  
◆ Developer tool development. Developers also need many development tools: GUI-builder (such as Glade), IDEs, gettext, error tracker, and memprof), version Revision Control System (CVS), constructor (autoconf, automake), and many other tools. In addition, image and document authors and translators also need a series of tools to improve and ensure the quality of work.
  
Applicants can select from the above job categories. Each category is an independent sub-project with relevant owner and maintenance pages. After you select a category based on your interests and expertise, you can go to the relevant webpage to view further information. The participation methods of each project may be slightly different, but they all need to communicate with the relevant project owner and contacts. In general, they will soon receive a response.
  
In addition, the GNOME community has a dedicated Todo database (http://www.gnome.org/todo/index.php3) that lists the jobs currently required by GNOME. Developers put the work that they think is important, but they do not have time to complete on it. Each project has a detailed description and contact information. Participants can browse this database to select fields of interest and expertise.
  
Of course, it may be difficult for a newly added community member to enter the role immediately. In this regard, the GNOME community is also well considered, such as GNOME's Love Project (http://mail.gnome.org/mailman/listinfo/gnome-love/), is to help members who have just entered the community find work tasks, A project organization that receives timely help.
  
In addition, the GNOME community website also lists "how to start", "learn to develop", "add applications to GNOME" and other guides.
  
   Start and development history
At present, there are thousands of Linux and related free software projects in the world to be developed. From Project creation to success, a project is subject to various constraints. appropriate growth opportunities and environments, competent organizers and leaders, outstanding participants, and commercial fund funding are indispensable. GNOME is no exception.
  
Sprout
  
In 1996, the development of free software came into being. A Mexican youth, Miguel de Icaza, often discusses topics related to free software with his friend, Elliot Lee, who works at Red Hat, we have made various efforts to promote the development of free software. After the launch of Windows 95, both of them felt that the free software system lacked many technical elements, which left it behind in many fields.
  
At that time, Icaza was working for the Linux/SGI project (a Linux project supported by some funds provided by SGI. From time to time, he tried to reduce the gap between Linux and proprietary software by taking time to work on free software. During discussions with a friend, he thought that the free software desktop program lacked the OLE mode and gave Icaza some inspiration. He made some preliminary attempts with Elliot Lee, such as using the libapp function library to access the public resources of the application (configuration management, recently used file records, mime handles, etc ). Although this work was not really completed, it gave rise to the idea of producing a whole set of desktop systems.
  
At that time, the KDE project went smoothly and its functions were relatively complete. Icaza was very pleased with this and wrote a letter to them asking them to include the KDE code in the Red Hat release and sent a letter to Richard Stallman (GNU organizer ), let him know that there is such an interesting project (KDE was a gnu gpl-based project at the time ). However, Icaza soon received a reply: Qt is a commercial software and does not allow users to modify or release copies after modification, thus violating the relevant GPL regulations; the dependency of KDE on Qt results in some of the programs being non-free software.
  
Out of love for free software, Icaza had also contacted the Qt owner Troll Tech and hoped to modify the relevant licensing rules of Qt, but he had never been replied. After a period of waiting, he decided to organize a Linux desktop project by himself.
  
Birth
  
Icaza selected two students, Arturo Espinosa and Federico Mena, from the computer science major at the National Autonomous University of Mexico to work with him on development, they are also working for the Mexican Linux user Association (Linux Users Group.
  
In the summer of 1997, Icaza was invited by a friend to Microsoft to develop the world's world-based Internet Explorer for Solaris system (because of its technical expertise in Linux/iSCSI ). At Microsoft, he learned some knowledge about ActiveX and COM and began to be very fascinated by this technology. There, he also happened to several netizens who had been communicating with LinuxNet IRC. When he returned to Mexico again, he worked with Federico to design a GUI-controlled infrastructure (based on Unix systems) and named it GNOME.
  
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.