Meego Wiki
Views

Compliance primer draft Feb2011

From MeeGo wiki
Revision as of 23:15, 8 February 2011 by Ibrahim (Talk | contribs)
Jump to: navigation, search

===>>>THIS IS A DRAFT.<<<===

Contents

What is MeeGo?

MeeGo is a Linux-based OS built for the next-generation of computing devices. Different from other mobile OSes, MeeGo is a truly open source platform that includes the core OS, UI libraries and tools, references user experiences for multiples devices and applications, a standard set of APIs across all target device types and the flexibility to support proprietary add-ons. MeeGo supports a magnitude of mobile client devices (Handsets, Connected-TVs, In-Vehicle Infotainment, Netbooks and Tablets) and provides choice and flexibility to create and deliver a uniquely differentiated service offering.

MeeGo Compliance Program

The MeeGo compliance program is designed to make sure things stay compatible, such that the devices supporting a particular MeeGo version can run the same software, and so that app developers know how to build software which will run across the family. Simply put, we want to make it possible for an application developer to write a MeeGo compliant application once and run it on any MeeGo compliant device.

MeeGo compliance addresses two categories of compliance: MeeGo compliant applications and MeeGo compliant devices / software products (which will be referred to simply as "devices"). In both cases, the use of the MeeGo brand will be granted based on being compliant. Following is an overview of the approach for each of these categories.

Advantages of the MeeGo Compliance Program

The MeeGo compliance program benefits all the players in the MeeGo ecosystem. Everyone in the ecosystem (user, developer, software integrators, device manufacturers) will benefit from the program.

  • Users of MeeGo products:
    • You benefit from a consistent experience.
    • You have access to apps that are verified to work on MeeGo devices.
  • Device manufacturers:
    • You benefit from the pool of apps written for MeeGo.
    • You increase the incentive for developers to build more compliant apps.
    • You can create your differentiation while still being compliant.
    • You can use the MeeGo trademark and logo in association with your device.
  • Distributions/Software:
    • You increase your chances for being used as a base for MeeGo compliant devices.
    • You can use the MeeGo trademark and logo in association with your distribution.
  • App Provider:
    • You ensure that your apps will run properly on any given MeeGo release.
    • You can use the MeeGo trademark and logo in association with your app.

Overview of the MeeGo Compliance Process

Compliance process 0.1.jpg

Ensuring compliance with MeeGo is easy and does not include any costs or fees. The testing tools are provided for free and available for download from [1].

The MeeGo compliance process consists of three high-level steps for both OSV and ISV partners:


  1. Download the MeeGo compliance specifications from [2] and use them to learn the interfaces required to be available in any MeeGo stack to enable binary compatibility. (This content will move to meego.com.)
  2. Download the MeeGo compliance tools from [3] and use them as you progress with your development activities. (This content will move to meego.com.)
    1. If you are successful in running the compliance tools without any error reported, you can contact trademarks@linuxfoundation.org with subject "MeeGo Trademark" to request permission to use the MeeGo mark and logo as part of your product marketing. You need to attach proof of successfully running the tools without errors. Information on the MeeGo trademark is available from [4].
    2. If you are unsuccessful in running the tools and you are receiving error messages that you are unable to work around, post your question to meego-dev mailing list ([5]) or you can discuss the errors directly on the #meego IRC channel (web interface is [6] and room name is #meego).

When to go through the compliance process?

You need to go through the compliance process anytime there are changes in the stack of your previously compliant product or when moving to support a newer MeeGo release. That is:

  1. You have a new product that you want to certify as MeeGo compliant
    Example: You are releasing a new product that utilizes MeeGo technology and you want to use the MeeGo mark and market your product as compliant with MeeGo (release 1.x).
  2. You have an existing product that has an updated MeeGo software release
    Example: You are now using MeeGo 1.2 and the compliance specifications and tools were updated for MeeGo 1.2. In this case, your existing product which already went through 1.1 compliance, will need to go through compliance for 1.2 since the specs and tools were updated for that MeeGo release.

MeeGo Compliance Document

For each release of the MeeGo platform, a MeeGo Compliance Document (MCD) will be provided. The current version of the document is available from: [7].

The document describes the rules and requirements for complying. When there are updates to the MeeGo specification document, the compliance tools will be updated to reflect the changes in the compliance specification.

There are two types of MeeGo platform compliance:

  • MeeGo Core Stack Compliance: This refers to the compliance with the MeeGo Core Stack and it is described in the MeeGo Compliance Document.
  • MeeGo Profile Compliance: This compliance refers to a MeeGo Vertical specific rules and requirements. Currently MeeGo supports five different verticals: Netbooks, Handsets, Connected-TVs, In-Vehicle Infotainment systems and tablets. Each of these verticals will have a Compliance Profile.

As a result, if you are an ISV/OSV: and you want to go through the MeeGo Compliance Process for your software stack, you will need to be compliant with MeeGo Core Stack + MeeGo Profile (for a specific device type).

MeeGo Compliance for Apps

MeeGo compliance for apps verifies that an application's external dependencies are satisfied by a MeeGo compliant stack, that any libraries or other dependencies of the application are provided within the core software stack and target device profile.

An application can be written to be dependent only on the MeeGo core software stack - in which case it would run on any MeeGo compliant device. However, applications with UI would typically target a specific device profile - so for example an application could be MeeGo Handset Compliant - meaning that it would run on any device compliant with the MeeGo Handset profile.

MeeGo Compliance Tools

The MeeGo Compliance Tools are used to check compliance for MeeGo Distributions or MeeGo Applications. The reference input is the MeeGo core package/file list and a minimal MeeGo reference image created by MIC2, which will contain all the required core packages, as well as source rpms.

For MeeGo distribution compliance checking, the input needs to include the OS image and the source rpms for all the packages.

For MeeGo Application compliance checking, the input is the application rpm file.

Additional information on the tools is available from [8]. The tools can be used throughout the development cycle to ensure that the final product is in compliance by the time you need to submit the compliance test results.

Note: As a user of these tools, if you encounter a bug or would like to submit a feature request, you can do so at [9] (file under Development Tools/Tools3). Furthermore, you can submit patches or improvements to the tools by creating a bug and attaching the patch to it.

Contact Information

For questions related to compliance specifications and/or tools and/or compliance discussions please use the meego-dev mailing list (([10]) or join the #meego chat room on IRC.

For questions related to using MeeGo trademark which is associated with compliance, you can contact trademark@linuxfoundation.org.

Verification of Patches

One aspect of ensuring compliance is to verify that introduced source code snippets/patches do not break API or ABI compatibility. The long term goal is to introduce functional testing as part of the compliance tools to provide this assurance. However, for the time being since there are no verification tools for that purpose yet, you need to provide a written confirmation that the source code they introduced does not break compatibility. This written confirmation will be sent to trademarks@linuxfoundation.org when asking for permission to the use the MeeGo mark/logo.

MeeGo Compliance Automated System

We are looking into setting up an online system that will allow you to upload results and submit them with the ability to have a dialogue with the individuals managing the compliance process. The system would allow tracking and also act as a directory of certified MeeGo products.

General FAQ

Who owns the MeeGo trademark?

MeeGo is a trademark of the Linux Foundation. MeeGo may be used in accordance with the MeeGo Trademark Policy in association with a product that has fulfilled all requirements of the MeeGo Compliance Program for that product and for the specific version and release of MeeGo that is indicated

What is the objective of the MeeGo trademark policy?

The preservation of the MeeGo mark is important for the benefit of the entire MeeGo Community. The objective of the MeeGo trademark policy is to ensure a consistent and positive user experience by avoiding user confusion about compatibility, and to preserve the value of the MeeGo mark by clearly and consistently communicating what is and what is not MeeGo in the marketplace.
Controlling the use of the MeeGo marks to avoid confusion on the part of MeeGo users and the general public is necessary in order to protect the trademark from inappropriate or unauthorized use. We need your help to preserve the value of the MeeGo mark to clearly and consistently communicate MeeGo’s value in the marketplace. We believe that preservation of the mark will result in long-term benefit to the entire MeeGo community.

Is compliance mandatory?

No. The MeeGo Compliance Program is only mandatory for products that claim to use MeeGo. Since the MeeGo source code is open source, anyone can use it to build any kind of product. However, if a company wishes to use the MeeGo name with their product, they must first demonstrate that the device is in compliance.

Is there any cost associated with MeeGo compliance?

There is no cost to obtain or use the MeeGo compliance verification tools. The tools are open-source and available to anyone to use.

What is the relationship between the usage of the MeeGo trademark and logo and the compliance program?

Although the MeeGo Project has no intention of restricting your rights to use, modify or distribute code licensed under open source licenses, your right to use the MeeGo trademarks and logos is conditional upon fulfillment of all requirements of the MeeGo Compliance Program.
Passing MeeGo Compliance is a prerequisite for the usage of the MeeGo trademark and logo. For example, if a company wants to identify their product as running “MeeGo” and use the MeeGo logo as part of their product advertising material, the product must successfully pass the MeeGo compliance testing.

Where can we get more information about the MeeGo trademark policy and guidelines?

For information about the MeeGo trademark and guidelines, please visit the trademark page.

What if I see a website or product misusing or causing confusion with the MeeGo mark?

If you believe a use of the MeeGo mark to be questionable or causing confusion, please file a bug in Bugzilla, assigned to bdub (brian.warner[at]linux.com). We will evaluate the use and, if necessary, will attempt to reach the owner of the questionable content with specific corrections and a deadline to become compliant. If there is no positive reply, legal counsel will follow up. Bugzilla will be used to track the outcome.
The intent of this process is to ensure that a content owner who is acting in good faith but is genuinely unaware of the guidelines can be properly informed and have an opportunity to make corrections, prior to any legal intervention.

What if I have general questions on the MeeGo trademark?

For all other questions or requests on the use of the MeeGo trademark, please file a bug in Bugzilla to bdub (brian.warner[at]linux.com).

How can we provide input on the MeeGo Compliance Document?

The discussions on the MeeGo Compliance Document take place on the meego-dev mailing list. To subscribe to the mailing list, please visit [11].
Personal tools