0
GNOME: nuts & bolts Punit Jain MOSC, 4 July, 2011
www.gnome.org/friends
www.gnome.org
GNOME's mission is to provide a free software desktop accessible to all regardless of their physical ability, financial ab...
<ul><li>Started by Miguel de Icaza and Federico Mena
KDE alternative based on free software toolkit </li></ul>History
Goals <ul><li>Free
Usable
Accessible
International
Developer-friendly
Supported </li></ul>
 
GNOME3 Made of easy www.gnome3.org
Simply Beautiful An Overview at a glance
 
Message built-in Distraction free computing
 
Everything at your fingertips Redesigned system settings And Much more
 
Contributing to GNOME live.gnome.org/JoinGnome
Programming Build something new. live.gnome.org/GnomeLove developer.gnome.org #gnome-love IRC
Testing Please try to break GNOME. bugzilla.gnome.org live.gnome.org/Bugsquad live.gnome.org/BuildBrigade
Documentation Teach users and developers how GNOME works. library.gnome.org live.gnome.org/DocumentationProject/Join
Translation Be our babelfish. live.gnome.org/TranslationProject
Art Express yourself. art.gnome.org live.gnome.org/GnomeArt
Marketing Spread the word. live.gnome.org/GnomeMarketing/MarketingTeam
Journalism Tell the story. live.gnome.org/GnomeJournal
Usability Lets make user experience better live.gnome.org/UsabilityProject
System Administration Manage our servers sysadmin.gnome.org
Web Development Define GNOME sites live.gnome.org/GnomeWeb
Be our friend Sponser GNOME www.gnome.org/friends
Earn While contributing <ul><li>GSOC
code.google.com/soc
live.gnome.org/SummerOfCode2011
GNOME Women outreach program
live.gnome.org/GnomeWomen </li></ul>
Getting Started with GNOME Development
Rule #1:  Do your homework GNOME is a huge project, get familiar with it.
Rule #2:  Try not to duplicate effort If an existing app is 90% of what you want, improve it instead of coding a whole new...
Upcoming SlideShare
Loading in...5
×

GNOME:nuts&bolts-MOSC

1,071

Published on

GNOME Introduction
GNOME3 features
Contribution to GNOME

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,071
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Hello everyone. My Introduction
  • Thanks to GNOME and its friends for sponsoring me.
  • GNOME is an open source community which makes great softwares. GNOME is most popular Linux desktop environment which is used by millions of users accross the globe
  • This is GNOME&apos;s mission statement. Read it aloud. Note that it focuses on accessibility, localization and financial resources.
  • GNOME was founded by these two guys. Their names are Miguel de Icaza and Federico Mena. In 1997, they set out to create a new desktop environment for Linux made entirely from free software, avoiding the licensing issues afflicting Qt and KDE at the time. GNOME is based on KISS principle Since then GNOME has gone through many major and minor releases. GNOME 1.0 March 1999 GNOME 2.0 June 2002 GNOME 3.0 April 2011 GNOME is shippen by All of the Major distributions Fedora, OpenSUSE, Ubuntu, Debian etc More than 3500 people have contributed só far which involves employees from more than 100 companies
  • GNOME gives full control to user. You are free to use, modify and redistribute the software. GNOME provides wide range of wonderful applications. It fulfill all needs of a basic desktop. Nautilus, Banshee, tomboy, gedit, empathy, epiphany and evolution etc. GNOME software are accessible to everyone. GNOME is available in multiple languages and for multiple regions. Developers can use many languages, including C, C++, Python, Perl, Java, C# and JavaScript, to develop GNOME applications GNOME is supported by the leading companies in GNU/Linux and Unix, including Red Hat, Novell, Oracle, Nokia, Intel and Canonical.
  • The GNOME Foundation&apos;s Board of Directors is assisted by an Advisory Board, which is made up of some of the biggest names in IT. The GNOME Foundation and Advisory Board members often work together to promote GNOME, and members are expected to work with the GNOME Foundation to promote GNOME when opportunities arise. Advisory Board member companies pay an annual fee which helps finance the operations of the GNOME Foundation.
  • GNOME3 define new era of user experience
  • GNOME 3 takes elegance to a new level. Every part has been carefully crafted to give it a harmonious, beautiful look and to make it simple and easy-to-use. A single place to access all windows, applications and messages
  • Directly reply to messages from notification tray, holding conversation doesn&apos;t require window switching Our new notifications system subtly presents messages and will save them until you are ready for them
  • Search is central to GNOME 3. Applications, windows, documents and even settings can all be quickly and easily searched Browse your settings in quick and simplified manner Developer tools have been modified to save time and makes writing new applications easy Side-by-side window tiling to make using several w indows simple and easy A redesigned file manager and dash Redesigned workspaces so you can easily organise your windows Fast and smoother
  • Not all work in a Free Software / Open Source community is coding. Even if you&apos;re not a programmer, you can still contribute to GNOME. This presentation offers some ideas on how.
  • GNOME is an open source project, which means that all the code you need is freely available, just waiting for you to start improving it. GnomeLove is an initiative that aims to help people who want to get started contributing to GNOME. Check out #gnome-love on IRC or visit http://live.gnome.org/GnomeLove and start learning about GNOME development with the wide variety of tutorials available. Because open source development is a community effort, you should make an effort to learn the tools and utilities used by community developers. Most of these tools are free, open source and available for Windows, Linux and Mac platforms, so you&apos;ll have no trouble getting started with them. This is a awesome way to Improve your programming skills And you will learn a lot
  • The GNOME Bugsquad is the Quality Assurance (QA) team for GNOME. They test programs, manage the Bugzilla bug database and make sure that major bugs don&apos;t go unnoticed by developers. If you, as a user, contribute a bug to the bug tracker, you&apos;re immediately contributing to the GNOME project. In fact, most contributors start by submitting a bug.
  • The GNOME Documentation Project is responsible for providing GNOME users with high quality documentation - manuals, online help, tutorials, programming references, interface guidelines, printed books, and so on. To get started, look in the GNOME Documentation Library ( http://library.gnome.org/ ) or the GNOME Developer Documentation (http://developer.gnome.org/doc/)
  • GNOME has some support for internationalization (also known as i18n) and localization (also known as l10n), and more is on the way. This provides a transparent way for translators to customize applications in GNOME without the application author doing much work. A number of users contribute to the GNOME Translation Project, making GNOME of the largest and most diverse open source communities. GNOME needs multi-lingual volunteers who can translate strings in each application. The tools are easy to use and can be understood even by users without a programming background.
  • One of GNOME&apos;s strengths is the high quality of its artwork. It&apos;s supplied by the GNOME Art Team. If you have visual design expertise, this is the ideal place for you to get involved. Join in at art.gnome.org
  • The GNOME Marketing Team works to improve communication and image of the GNOME Project. GNOME needs people to write marketing copy, to coordinate with the developers, the website team and the art team, and to staff booths at technology events and conferences.
  • GNOME Journal is an online magazine devoted to everything surrounding the GNOME Desktop. This includes the software, people, development, news, etc. surrounding anything related to GNOME. If you like writing and journalism, why not add your opinion to the discussion? You can write your analysis of the GNOME Desktop, inform the community of upcoming developments, or criticize the good and the bad in GNOME.
  • The Usability Project strives to make the GNOME experience as pleasant and efficient as possible. The project aims both to aid developers in their efforts to create intuitive applications, and to lead by creating designs and detailed mockups toward a cohesive and beautiful new generation of the GNOME desktop. The Usability Project achieves these goals through the creation of a style guide (defining and evolving the GNOME user interface), working with maintainers to remove interaction problems through user testing, and the visual/interactive engineering of new desktop components.
  • The GNOME system administration team manages the gnome.org servers and the services running on them, such as the mailing lists, CVS server and web sites.
  • The GNOME Webhackers are in the process of rebuilding the various GNOME websites. They are responsible for the maintenance and upkeep of the official GNOME site, plus subsites
  • Even with no time nor skills, you can still help the GNOME Project to improve, becoming a &amp;quot;Friend of GNOME&amp;quot;!
  • Google spends millions sponsoring various opensource projects Hundreds of students are selected across the globe and given stipend If you are a student and have passion to contribute to opensour this is the best place for you GnomeWomen is an organization which provides encouragement for women contribution If you are a woman this is the best place for you
  • This short presentation is intended to introduce a new developer to working on the GNOME Platform. It covers basic ways in which developers can contribute to the GNOME project. The material in this deck is sourced from a guide by Ryan McDougall: live.gnome.org/GnomeLove/HowToStart
  • GNOME is a huge project. If you want to be successful, do not bite off more than you can handle, or jump into the deep-end of the code -- you will not be able to understand it all at once, and will become frustrated. To begin understanding GNOME, spend some time on the mailing lists and read the discussions in progress before posting. There are vast resources of information at your disposal, but you need to do your homework and check things out yourself to begin understanding GNOME.
  • Find first if an existing app can be improved, it will be beneficial to the whole GNOME community. Of course, if you have an innovative idea, or just want to start something on your own for educational purpose, that&apos;s the good choice. You will then need a pencil and paper, and you will have to think about it and start designing your cool new application on paper (this will take a while of course). Otherwise you need to decide which GNOME module you are most interested in, and study up on how it works generally: read the website, join the relevant Mailing Lists, and stop by in the Gnome IRC Channels.
  • Download and install DevHelp, a program that displays the library API documentation that is auto-generated from the source code. Visit developer websites and this GNOME Live! wiki to begin looking for documentation on the modules/libraries you are interested in. Don&apos;t forget that a number of GNOME&apos;s technologies are from FreeDesktop.org, so be sure to go there to look for your documentation as well. There is always your favorite web search engine. The most detailed but hardest to understand form of documentation is the source code itself. Use it as a reference when you are trying to understand small portions of the code-base.
  • The best way to learn how to program anything is to write very simple example programs. As you learn more, graduate to increasingly more complex code until you have a basic application working. If the module you are learning has a tutorial, open up a text editor and terminal, and start typing in and compiling. If the module you are learning does not have a tutorial then write one as you learn by yourself. Use yourself as the target audience. What would &apos;you&apos; like to know from a tutorial on this module? Even if you never show it to others, it will be invaluable to giving you a deeper understanding about the code. If you do want to let others benefit from your tutorial, please post it on this wiki, or in the project&apos;s.
  • If your goal is to help with GNOME, you need to start asking around how you can help out. Remember to start small, with bite-sized pieces, then work your way up to bigger things. Check out #gnome-love on IRC or read the Submitting Patches section of the wiki for advice with this, or ask your module&apos;s maintainer directly. Begin answering questions that you can handle on the mailing list, and generally participating in the community discussions. Head over to bugzilla, make an account for yourself, and start looking at the bugs for your module. If you are confident, you can try proposing a solution or even writing a patch.
  • In OSS development the participants, who are mostly volunteers, are distributed amongst different geographic regions so there is need for tools to aid participants to collaborate in the development of source code. Because open source development is a community effort, you should make an effort to learn the tools and utilities used by community developers, so that you can participate constructively. Most of these tools are free, open source and available for Windows, Linux and Mac platforms, so you&apos;ll have no trouble getting started with them. A list of common dev tools will be shown a little further along.
  • The GNOME community is spread out over mailing lists, discussion groups and IRC. If you&apos;re not able to understand something, even after reading relevant documentation, you should feel free to ask questions and engage with other developers to resolve technical issues. In addition to solving your problem, the information may also help other developers working on the same project. You can also speak to developers in real-time on IRC or ask questions in person, by meeting other GNOME developers at community events such as GUADEC.
  • Working on GNOME can be very rewarding, and lots of fun. Try it out for yourself and see!
  • Some more useful tools for developers are: Nemiver and gdb: Graphical debugging tools Valgrind: Code profiler and debugger Bugzilla: Bug tracking database Look here for more information on developer tools: http://library.gnome.org/devel/tools
  • GNOME is first and foremost a community of developers and enthusiasts; and we take care of our own. The existing core of GNOME developers is a friendly bunch, and we eagerly assist new developers looking for experienced help. Look at these Web links for information on GNOME documentation, code and developer tools. If you find a bug, add it to the GNOME bug tracker!
  • Transcript of "GNOME:nuts&bolts-MOSC"

    1. 1. GNOME: nuts & bolts Punit Jain MOSC, 4 July, 2011
    2. 2. www.gnome.org/friends
    3. 3. www.gnome.org
    4. 4. GNOME's mission is to provide a free software desktop accessible to all regardless of their physical ability, financial ability or the language they speak.
    5. 5. <ul><li>Started by Miguel de Icaza and Federico Mena
    6. 6. KDE alternative based on free software toolkit </li></ul>History
    7. 7. Goals <ul><li>Free
    8. 8. Usable
    9. 9. Accessible
    10. 10. International
    11. 11. Developer-friendly
    12. 12. Supported </li></ul>
    13. 14. GNOME3 Made of easy www.gnome3.org
    14. 15. Simply Beautiful An Overview at a glance
    15. 17. Message built-in Distraction free computing
    16. 19. Everything at your fingertips Redesigned system settings And Much more
    17. 21. Contributing to GNOME live.gnome.org/JoinGnome
    18. 22. Programming Build something new. live.gnome.org/GnomeLove developer.gnome.org #gnome-love IRC
    19. 23. Testing Please try to break GNOME. bugzilla.gnome.org live.gnome.org/Bugsquad live.gnome.org/BuildBrigade
    20. 24. Documentation Teach users and developers how GNOME works. library.gnome.org live.gnome.org/DocumentationProject/Join
    21. 25. Translation Be our babelfish. live.gnome.org/TranslationProject
    22. 26. Art Express yourself. art.gnome.org live.gnome.org/GnomeArt
    23. 27. Marketing Spread the word. live.gnome.org/GnomeMarketing/MarketingTeam
    24. 28. Journalism Tell the story. live.gnome.org/GnomeJournal
    25. 29. Usability Lets make user experience better live.gnome.org/UsabilityProject
    26. 30. System Administration Manage our servers sysadmin.gnome.org
    27. 31. Web Development Define GNOME sites live.gnome.org/GnomeWeb
    28. 32. Be our friend Sponser GNOME www.gnome.org/friends
    29. 33. Earn While contributing <ul><li>GSOC
    30. 34. code.google.com/soc
    31. 35. live.gnome.org/SummerOfCode2011
    32. 36. GNOME Women outreach program
    33. 37. live.gnome.org/GnomeWomen </li></ul>
    34. 38. Getting Started with GNOME Development
    35. 39. Rule #1: Do your homework GNOME is a huge project, get familiar with it.
    36. 40. Rule #2: Try not to duplicate effort If an existing app is 90% of what you want, improve it instead of coding a whole new app.
    37. 41. Rule #3: Learn from documentation and code live.gnome.org is a great place to start.
    38. 42. Rule #4: Examples are good! Before you start on your grand project, build a small proof of concept.
    39. 43. Rule #5: Submit patches! Look for problems, then submit patches to fix them.
    40. 44. Rule #6: Learn open source dev tools Using the same tools as everyone else makes for easier collaboration.
    41. 45. Rule #7: Ask questions If you find something puzzling, don't be afraid to ask questions.
    42. 46. Rule #8: Have fun! If you don't enjoy what you do, then you will never stay at it.
    43. 47. Essential Tools <ul><li>Git : git-scm.com
    44. 48. Valgrind: valgrind.org
    45. 49. Nemiver: projects.gnome.org/nemiver
    46. 50. GDB: www.gnu.org/software/gdb </li></ul>
    47. 51. Developer Resources <ul><li>Documentation: library.gnome.org
    48. 52. Code: git.gnome.org
    49. 53. Bug tracker: bugzilla.gnome.org
    50. 54. Developer tools: developer.gnome.org and live.gnome.org/GnomeLove
    51. 55. Mailing lists: mail.gnome.org
    52. 56. Expert real-time discussion: irc.gnome.org </li></ul>
    53. 57. References <ul><li>live.gnome.org
    54. 58. www.gnome.org
    55. 59. www.gnome3.org
    56. 60. images.linuxidx.com
    57. 61. code.google.com/soc/ </li></ul>
    58. 62. Thank you! Punit Jain [email_address] IRC jpunit @ #evolution, #gnome Become a friend of GNOME! www.gnome.org/friends
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×