GNOME Quick SWOT Analysis, april 2010
Introduction to the SWOT analysis
SWOT analysis is a strategic planning method used to evaluate the Strengths, Weaknesses, Opportunities, and Threats involved in a project. It involves specifying the objective of the project and identifying the internal and external factors that are favorable and unfavorable to achieving that objective.
A SWOT analysis must first start with defining a desired end state or objective. A SWOT analysis may be incorporated into the strategic planning model.
Strengths: attributes of the project that are helpful to achieving the objective(s).
Weaknesses: attributes of the project that are harmful to achieving the objective(s).
Opportunities: external conditions that are helpful to achieving the objective(s).
Threats: external conditions which could do damage to the objective(s).
Identification of SWOTs is essential because subsequent steps in the process of planning for achievement of the selected objective may be derived from the SWOTs.
First, the decision makers have to determine whether the objective is attainable, given the SWOTs. If the objective is NOT attainable a different objective must be selected and the process repeated.
[Extracted from http://en.wikipedia.org/wiki/SWOT_analysis]
The GNOME project provides two things:
The GNOME desktop environment, an intuitive and attractive desktop for users, and
The GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop and mobile user interface
As desktop is moving to mobile devices, we also support and promote the use of GNOME applications and components to improve the mobile and embedded user experience (we need to include things like telepathy, gstreamer, etc.)
NOTE: we should include the mobile statement on http://www.gnome.org/about/ with a link to http://www.gnome.org/mobile/
GNOME is Free Software and part of the GNU project, dedicated to giving users and developers the ultimate level of control over their desktops, their software, and their data. Find out more about the GNU project and Free Software at gnu.org.
GNOME understands that usability is about creating software that is easy for everyone to use, not about piling on features. GNOME's community of professional and volunteer usability experts have created Free Software's first and only Human Interface Guidelines, and all core GNOME software is adopting these principles. Find out more about GNOME and usability at the GNOME Usability Project.
NOTE: we should include a more info link
Free Software is about enabling software freedom for everyone, including users and developers with disabilities. GNOME's Accessibility framework is the result of several years of effort, and makes GNOME the most accessible desktop for any Unix platform. Find out more at the GNOME Accessibility Project.
NOTE: we should include a more info link
GNOME is used, developed and documented in dozens of languages, and we strive to ensure that every piece of GNOME software can be translated into all languages. Find out more at the GNOME Translation Project.
NOTE: we should include a more info link
Developers are not tied to a single language with GNOME. You can use C, C++, Python, Perl, Java, even C#, to produce high-quality applications that integrate smoothly into the rest of your Unix or GNU/Linux (commonly referred to as Linux) desktop.
GNOME strives to be an organized community, with a foundation of several hundred members, usability, accessibility, and QA teams, and an elected board. GNOME releases are defined by the GNOME Release Team and are scheduled to occur every six months.
NOTE: should we include a more info link ?
Beyond the worldwide GNOME Community, GNOME is supported by the leading companies in GNU/Linux and Unix, including HP, IBM, Mandriva, Novell, Red Hat, and Sun. Find out more at foundation.gnome.org.
NOTE: We should include here the advisory board companies and organizations. Change the link to foundation.gnome.org with a link to live.gnome.org/AdvisoryBoard
- Debian Project
- Free Software Foundation
- Mozilla Foundation
- Red Hat
- Software Freedom Law Center
- Sugar Labs
- Sun Microsystems (I don't know the official status of Sun. Does they keep the name?)
Not sure if we must keep the names of companies which helped in the past.
Perhaps more than anything else, GNOME is a worldwide community of volunteers who hack, translate, design, QA, and generally have fun together. Find out more at GNOME Developer's site.
NOTE: Is perhaps this section too similar to the Organized section ?
[Extracted from http://www.gnome.org/about/ Revert suggested changes there ]
Over the next few years, we want to offer a state-of-the-art technology to many people who today are not using it because it is too expensive and too complicated to use.
[Modified from http://foundation.gnome.org/about/charter/]
NOTE: we should include a state-of-the-art statement/section on http://www.gnome.org/about/
NOTE: The teams listed here are mainly the ones mentioned on the organized statemet. However, there is a more extended list on http://live.gnome.org/TeamWorkspaces
- Free Software. [free]
- GNOME brand is known in the FLOSS world. [community]
- Talented community. [community]
- Superb middleware technology. [platform]
- Rock solid releases. [organized]
- HIG [usable]
- Delivered by the major distributions. [supported]
- Economic support from companies through the Advisory Board. [supported]
- Lots of consulting resources available. [supported]
- Easy for companies to use and incorporate. [organized, supported]
- Good internalization support. [international]
- Good Accessibility support. [accesible]
- Adequate infrastructure for development (bugzilla, git, etc).
- Support for several programming languages. [mission][platform][developer-friendly]
- Key component of Sugar: revolutionary education project. [community][platform]
- GNOME 3.0 is going to be great !!!. [organized]
- There isn't a clear decision-making body in GNOME for marking the direction of the project. [organized][community]
- The Release Team has taken this sort-of this role on the GNOME 3 conception.
- Unstructured, and some times incomplete or not updated information. [organized][community]
- Difficult to implement wide-project management.
- There a lot of good roadmaps, goals, etc scattered on http://live.gnome.org, but there no synchronization between them, no priorities, and difficult to connect.
- This is a block stopper for some ways of collaboration
- Collaboration between different teams is not encourage by the infrastructure, it is more a matter of personal contacts
- The [developer] community don't see the point of reporting status to the Release Team (by now, this is the only project wide management team)
- New developers find tough to join/contribute because they don't figure out how the information is structured.
- Planet GNOME seems to be the only way to have a project-wide point of view of activities. It is scattered with other kind of personal information not related to GNOME.
- The current roadmap process is too much focused on the evolution of the modules. It is based on their maintainers opinions. It is good, in general, for planning incremental or localised changes, but is not so good for more radical or general changes. [organized]
- Delegation of decisions to third parties. [organized][community]
- We have delegated brand awareness & UI innovation to distributions rather than taking this on as a GNOME challenge and letting distributions be mere aggregators of our work.
- Moblin, Maemo, Sugar, UNR, things like Compiz, Clutter, and even our delegation of decisions on things like web browsers/engines, Mono, photo management & music management applications & more have all lead to GNOME being a much smaller factor in deciding what the GNOME user experience will be than, say, what Ubuntu, Red Hat or Novell decides to ship to their users.
- Key areas like a11y depend heavily on the support from companies. [organized]
- APIs and ABIs breakages have no a predictable cadence. [organized]
- GTK+ is not attracting media/developer focus. [platform][developer-friendly]
- No branding policy across certified bindings and websites.
- perceived as old, ugly or difficult by new programmers
- Lack of fancy features like multitouch.
- No official installers for win32 or macosx
- No guidelines about development environments and workflows (anjuta, eclipse, emacs, mondevelop, etc), good for newbies
- too much centered on the API (this can be generalized to the documentation of other GNOME libraries and technologies)
- poor in comparison with Qt.
- Bindings are separated projects.
- Unbalanced support for different bindings.
- GTK+ is the only component from the GNOME stack to be widely known outside of the project. Consequently, it is our competence factor. [platform]
- Uncertain balance between stability and innovation. [desktop][platform][supported][state-of-art]
- Some of the core values of GNOME are very poorly represented on the current state of the project [organized][developer-friendly][mobile]
- GNOME have large deployments on schools (eg. Andalusia or Extremadura in Spain) although but we don't encourage the development of educational tools [community]
- Aspire to be the platform of choice for opportunistic desktop developers. [platform][developer-friendly][state-of-art]
- Be elegible for Corporate deployments. [supported][desktop]
- Mobile computing. [supported][desktop][state-of-art]
- ARM devices are getting popular.
- Bring together developers and companies using GNOME technologies.
- The combination of technologies going under the name "HTML 5" have made/are making web technology based applications finally competitive with those built using conventional toolkits such as GTK+. This mean we need to bring modern and solid web technologies to the heart of GNOME. [state-of-art]
- Integration with cloud computing. [state-of-art]
- Twitter/Identica tools (managing multiple accounts and multiple users).
- Facebook integration.
- Hosting web services. [community]
- it could be a self-sustaining model to raise money for the hosting and GNOME, and provide Free as in Freedom services for users in the bargain.
- Be receptive to the requests from projects that use GNOME.[community]
- Sugar: improve support for Pyhton and JS, offer app functionality through shared lib (like Evince).
- Try to encourage companies to work upstream. [community]
- LiMo could be a candidate for advisory board.
- Hackfests like the recently celebrated on London about UX generated a lot of _enthusiasm_ on the GNOME community and it attracted a lot media focus. We must take measures for keeping the momentum and take advantage of this. We must explore ways of better collaboration flows between developers, designers, writers, etc. [community][organized]
- Microsoft Windows dominates in the desktop computer market with 92%. [supported][desktop]
- No evident winner as the free desktop alternative. [supported][desktop]
- Qt has been declared as the facto standard in mobile computing by major role players (Symbian and MeeGo). Mobile programming is a emerging area that is attracting programmers. [supported][desktop]
- Mobile community using GNOME components is not well connected. [organized]
- Cloud computing can move some services from desktop services to the cloud. [state-of-art]
- Loss of potential new developers, especially for negative GTK+ perception. [platform][developer-friendly][state-of-art][community]
- APIs and ABIs changes no scheduled in enough advance can impact negatively downstream and consequently, our final users. [supported][desktop][platform][community]
- Some companies created around GNOME are more focused on certain technologies created on the project that on the project itself. [supported][community]
- Some companies using GNOME technologies are not participating in the community because they don't know how or don't see the advantage. [community]
NOTE: the values or missions assigned to every SWOT statement, and even some statements, are subjective.