Mailing List Archive

Re: [OpenStack-DefCore] Understanding DefCore
Rather than going line-by-line through several of the previous messages in the thread, I wanted to clarify the existing framework that governs OpenStack trademark usage, which I think may address a few of the comments. It can be a complicated issue because there are several documents that are involved and they impact different areas of trademark usage. Fair warning: this email is really long. = )

1) The Bylaws - The Bylaws of the OpenStack Foundation (http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/) with Appendices are the overall governing documents for the Foundation. They define the Project, the Membership, delegate authority to the Technical Committee, the Board of Directors, and in Section 7.3 point to the Trademark Policy (http://www.openstack.org/brand/openstack-trademark-policy/) as the governing document of trademark usage.

The Bylaws also contain what has ended up being a much debated sentence of varied interpretation in Section 4.1(b). I’m going to deviate from just recounting solidly established fact for a minute to explain how I have historically viewed 4.1(b) in the context of overall trademark usage, the history of some of the terms used, and the drafting of the Bylaws.

The context of Section 4.1 is "General Powers." This section is meant to define at the very highest level, the overall breakdown of responsibility in the Foundation.

Section 4.1(a) contains a pretty standard corporate line stating that the affairs of the Foundation are overseen by its Board of Directors: "The business and affairs of the Foundation shall be managed by or under the direction of a Board of Directors, who may exercise all of the powers of the Foundation except as otherwise provided by these Bylaws."

Section 4.1(b) designates the Technical Committee as being responsible for "The management of the technical matters relating to the OpenStack Project.…”
It also defines the term "OpenStack Project" to include work produced by the technical community and governed by the Technical Committee, including "a 'Core OpenStack Project,' library projects, gating projects and supporting projects.”

In the very early days of OpenStack, July of 2010, there were only 2 projects: Compute and Object Storage. Within the first 6 months, other projects got off the ground and we created the initial rudimentary incubation process. The Project Policy Board was the governance body at the time, and we created a delineation between software that was an established part of OpenStack (called “core” projects) and software that was getting started and may become an established part later (called “incubated” projects). All of this software was intended to be used to build a public or private cloud. It was all “cloud software."

It’s hard to picture this now with our current level of development activity, but at the time, there were only a few dozen total contributors across all of OpenStack, and the systems for managing the development process were MUCH more basic. As the number of developers and contributions grew rapidly and we begin to commit more effort to automated testing and CI, the community started to develop software that made the continued growth and improved quality possible. This software enhanced the development process of building OpenStack, but was not “cloud software” in the sense that it was never meant to be distributed as OpenStack to build a public or private cloud. These were the library, gating and supporting projects. These were being formally recognized by the technical governance right around the time that we were forming the Foundation and drafting the Bylaws in 2012.

In writing the Bylaws, the defined term “OpenStack Project” refers to the whole body of governed OpenStack software. The defined term “Core OpenStack Project” refers to the specific pieces that were the original two components plus the later components that had gone through the incubation and core graduation process. The existing core projects at the time of drafting are listed at the end of 4.1(b) "Block Storage, Compute, Dashboard, Identity Service, Image Service, Networking, and Object Storage.” No changes to the set of core projects have been made since that time.

At the time of drafting the Bylaws, we included a process for modifying what comprised the “Core OpenStack Project,” which can be seen in section 4.13(b): "The Technical Committee shall have the authority to determine the modules for addition, combination, split or deletion from the OpenStack Project except for modules of the Core OpenStack Project (as defined in Section 4.1(b) above) which shall be managed as provided below. For modules of the Core OpenStack Project, the Technical Committee may recommend to the Board of Directors the modules for addition, combination, split or deletion from the Core OpenStack Project. Except as provided below, the Board of Directors shall consider only those additions, combinations, splits or deletions that are recommended by the Technical Committee, but shall have the sole authority to approve or reject such additions, combinations, splits and deletions from the Core OpenStack Project.”

Basically, the TC is responsible for the scope of the overall "OpenStack Project," but for any changes to the “Core OpenStack Project,” the Board of Directors must also approve the recommended change from the Technical Committee.

This brings us back to Section 4.1(b). This section gives explicit permission to refer to the components of the “Core OpenStack Project" with OpenStack trademarks: "The Core OpenStack Project means the software modules which are part of an integrated release and for which an OpenStack trademark may be used.” The next sentence is the hotly debated one: "The other modules which are part of the OpenStack Project, but not the Core OpenStack Project may not be identified using the OpenStack trademark except when distributed with the Core OpenStack Project."

The intent of Section 4.1 is not to define the totality of allowed trademark usage. The Bylaws are explicit in Section 7.3 that the referenced Trademark Policy is the governing document for overall trademark usage. The intent of this section was to provide a distinction between the OpenStack community-developed software that is developed and made available to build OpenStack clouds, and the OpenStack community-developed software that is developed for other purposes (e.g. testing, CI). If you take a project like Jenkins Job Builder (JJB), for instance, it is developed within the OpenStack Infra program. However, if you were to take only JJB, and create a service that took YAML files and configured Jenkins machines, that is very different from creating an “OpenStack Cloud.” It would be confusing to the market to launch that service and say “I’m running OpenStack,” so the intent of this portion of 4.1(b) was to draw a line between the community-developed, TC-governed projects that are used to build an instance of “OpenStack” and the projects that are not.

The controversial aspect comes in when you start talking about the modules that are intended to be used to be cloud services but that are not part of core (e.g. Heat). In my reading, these projects fall under the except clause from the sentence above: "except when distributed with the Core OpenStack Project.” While Heat may not be a part of the Core OpenStack Project because it has not gone through the process in 4.13(b), it is distributed as part of the integrated release with the entirety of the Core OpenStack Project. In my mind, it creates a very odd mismatch for the community to work for six months on the code, do an integrated release of OpenStack software, and for some pieces of that development effort to not actually be “OpenStack.” By my recollection, this is the exact scenario for which we added the “except” to the sentence in question during drafting the Bylaws. So we could talk about all of the components of the OpenStack integrated release as being part of OpenStack. I’ve yet to hear a sensible alternate explanation for the purpose or meaning of the exception in that sentence.

So then, you may ask, what is the difference between Core and Integrated when it comes to the trademark guidelines. We’ll get to that in just a moment. Let’s look at the other documents of the trademark framework.

2) The Trademark Policy - The Trademark Policy is the primary governing document for OpenStack mark usage. The policy has not changed since the Foundation was created, and would require a high-bar amendment process as defined in Section 9.2(d). This high bar was put in place because we saw the OpenStack trademark as a community asset in non-commercial contexts.

The policy describes and sets out explicitly the right of the community to use the marks for community, non-commercial, community-building purposes. It also prohibits commercial, attention-getting, and branding usage of OpenStack marks without a license from the Foundation. The OpenStack Foundation has the power to grant and revoke the commercial-use licenses and to specify eligibility requirements for those licenses. It lays out several of the licensing programs that existed at the time of drafting but also states "Other licensing programs may be available for a specific use. Please contact us at logo@openstack.org for obtaining the applicable OpenStack Trademark License.” That leads us to the third piece of the framework...

3) Commercial Use Trademark Licenses - There are several commercial use licensing programs that the Foundation administers. These can be seen in the side navigation on the Trademark Policy page. These licenses allow commercial entities to incorporate OpenStack marks into their product marketing—for instance Acme Cloud Solution Powered by OpenStack or Acme Training for OpenStack.

When licensing a trademark, it is important from a legal perspective to have some quality control around the usage so we can still claim and defend the trademark. It’s also important to ensure that there is clarity in the market. Each of the commercial-use licenses have a set of requirements to provide this quality control. For instance, for the OpenStack Powered agreement, your product needs to run OpenStack, including at least the Compute and Object Storage components, it must be running a relatively recent release, it must expose the OpenStack APIs, you must be clear about which OpenStack components and versions are included, and you must pass tests that validate its compatibility.

Back to the earlier question about the difference between Core and Integrated. Once the Foundation was established and these processes and governance bodies had gotten settled in, the intent was to replace the specific enumeration of two projects (Compute and Object Storage) in these licenses with a reference to the Core OpenStack Project. Then, the Core OpenStack Project would become the common set of required software and APIs that commercial products must incorporate to be able to license OpenStack marks. It would be the baseline for compatibility and interoperability. So while the OpenStack release may contain any number of projects, they may not all be required to be present in every commercial implementation and distribution of OpenStack and licensed the OpenStack trademark. A change like this is part of the Foundation-administered license, rather than an amendment to the Bylaws or Trademark Policy.

The testing was also a carryover from pre-Foundation days when it was being worked on by the Project Policy Board. The licenses still contain a reference to a test suite approved by the Technical Committee. This test suite has yet to be implemented, however, once in place, it can fit into the existing license agreements.



From my understanding, DefCore is hoping to clarify the debated areas in Bylaws through some amendments, provide the missing testing that’s already mentioned in the license agreements, and come up with an aggregation of which code across integrated projects is required to be included in a commercial product, replacing the current enumeration of two projects. Getting into the details of that process is beyond the scope of what I was hoping to touch on in this email (it’s arguably too long already). I know there’s going to be a dedicated TC/DefCore meeting next week that will hopefully clarify the purpose and path forward even more. Thanks,

Jonathan



On Jun 24, 2014, at 8:52 PM, Michael Still <mikal@stillhq.com> wrote:

> On Wed, Jun 25, 2014 at 9:53 AM, Joe Gordon <joe.gordon0@gmail.com> wrote:
>> On Tue, Jun 24, 2014 at 2:56 PM, Mark McLoughlin <markmc@redhat.com> wrote:
>>> On Sun, 2014-06-22 at 22:19 -0700, Joe Gordon wrote:
>>>> Hi all,
>>>>
>>>> In trying to wrap my head around DefCore, I read the DefCore
>>>> committe's mission as documented on the committee's wiki page[0]. The
>>>> mission is to "define 'OpenStack Core' as chartered by the by-laws and
>>>> guided by Governance/CoreDefinition.' While the bylaws don't have any
>>>> reference to "OpenStack Core" they do define a term called "Core
>>>> OpenStack Project"[1]. Is this what the DefCore Comittee is refering
>>>> to when talking about "OpenStack Core?"
>>>
>>> Yes, it is. The crucial bit is:
>>>
>>> "The Core OpenStack Project means the software modules which are part
>>> of an integrated release and for which an OpenStack trademark may be
>>> used. The other modules which are part of the OpenStack Project, but
>>> not the Core OpenStack Project may not be identified using the
>>> OpenStack trademark except when distributed with the Core OpenStack
>>> Project."
>>>
>>> The aspect of this I think everyone is agreed on is that "The Core
>>> OpenStack Project" is a subset of the integrated release. And that "The
>>> Core OpenStack Project" has something to do with the OpenStack
>>> trademark.
>>>
>>> There are two interpretations of this AFAICT:
>>>
>>> 1) Only the core modules can be called OpenStack Foo and OpenStack Bar
>>>
>>> 2) Only the core modules can be required in some way for commercial
>>> products which license the OpenStack trademark in some way
>>
>>
>> Isn't legalese fun. I have a third interpretation that combined those two.
>>
>> Only the core modules can be called OpenStack Foo and OpenStack Bar (as long
>> as the usage is in line with the Trademark Policy), and how the trademarks
>> are licensed is subject to the Trademark Policy. The Trademark Policy cannot
>> define a trademark that only requires something outside of the Core
>> OpenStack Project. For example the Trademark Policy clearly states what is
>> required to use the "Powered by OpenStack™" trademark. So the issue of
>> licensing the trademark for commercial products is purview of only the
>> Trademark Policy. Any requirements of running or passing specific tests
>> would fit under the Trademark Policy.
>
> I gave Joe a call to have a chat about this, and it seems to be we can
> best progress this by sharing a draft of the proposed trade mark
> policy after the defcore changes go through. Who can share a link to
> the proposed new policy?
>
>>> The DefCore effort is about clarifying (2) "by defining 1) capabilities,
>>> 2) code and 3) must-pass tests for all OpenStack products. This
>>> definition [..] drives interoperability by creating the minimum
>>> standards for products labeled "OpenStack."
>>
>>
>> Based on my interpretation above, this goal would not apply to defining
>> core, but about amending the Trademark Policy, as the bylaws describe when
>> talking about how the Board of Directors may amend the the Trademark Policy
>> without doing a general vote as long as the amendment is made prior to
>> January 31, 2013.
>>
>> "amend the Trademark Policy prior to January 31, 2013 to establish testing
>> and certification requirements for the use of the trademarks owned by the
>> Foundation in connection with the use of the Core OpenStack Project."
>>
>>>
>>>
>>>> If so, the bylaws already clearly state the process to change what
>>>> software modules make up the "Core OpenStack Project." The Technical
>>>> Committee(TC) proposes a change to what is in the "Core OpenStack
>>>> Project" and the Board of Directors has the sole authrity to approve
>>>> or reject the TC's recommendation [2].
>>>
>>> Under interpretation (1) above, that means the TC can ask the board for
>>> e.g. Heat to be called OpenStack Orchestration:
>>>
>>>
>>> http://git.openstack.org/cgit/openstack/governance/tree/resolutions/20131106-ceilometer-and-heat-official-names.rst
>>
>>
>> To the best of my knowledge the Board of Directors has not approved this
>> resolution. I have not been able to find any evidence of a vote on this.
>>
>>>
>>>
>>>
>>> Under interpretation (2) above, the TC would be recommending that Heat
>>> should in some way be required for OpenStack products.
>>
>>
>>
>> The current list of The current list of modules in "Core OpenStack Project"
>> are "Block Storage, Compute, Dashboard, Identity Service, Image Service,
>> Networking, and Object Storage modules." But the Trademark Policy says "The
>> Powered by OpenStack' Logo, shown immediately below, may be used by
>> individuals, organizations, and companies that use formally released
>> OpenStack Compute (Nova) code in their application or product." And never
>> says an OpenStack product must run all the modules in "Core OpenStack
>> Project." In fact it never uses the word 'Core.'
>>
>> which makes me thing interpretation (2) is not entirely correct.
>>
>>>
>>>
>>>> This mismatch between DefCore's mission and the bylaws has already
>>>> been identified by the DefCore committee itself [3]. So if the current
>>>> mission statement doesn't align with the bylaws then what is the
>>>> DefCore committe's current mission statement?
>>>
>>> It's part of the DefCore committee's mission to help get the bylaws
>>> confusion clarified AIUI.
>>>
>>> AFAICT the assumption is that the language should be clarified such that
>>> interpretation (2) is clear.
>>>
>>>> The 'Core Definition' document[5] mentions DefCore will help
>>>> "determine how commercial implementations of OpenStack can be granted
>>>> use of the trademark," and the committee "may suggest changes to the
>>>> by-laws to clarify the definition of core." So presumably DefCore is
>>>> not about defining "Core OpenStack Project," but rather about revising
>>>> the trademark policy as defined in Appendix 8 of the bylaws [6].
>>>
>>> It's about changing how "Core OpenStack Project" is defined such that it
>>> is no longer "a set of modules which is a subset of the integrated
>>> release" but instead "a set of API tests and required sections of code".
>>>
>>> That involves both coming up with the process for managing that (in that
>>> it wouldn't begin simply with the TC nominating some modules for Core)
>>> and proposing the bylaws changes to reflect the process.
>>>
>>> That raises the question of what happens if DefCore-recommended bylaws
>>> changes can't be passed. What interpretation of the current bylaws
>>> allows the commercial trademark requirements process to evolve in this
>>> way?
>>
>>
>> The bylaws seem pretty clear about this, the commercial trademark
>> requirements cannot evolve without a large vote " In addition to the vote of
>> the Board of Directors as provided in Section 9.1, the amendment of the
>> following Sections requires an affirmative vote of (i) two-thirds of the
>> Gold Members, (ii) two-thirds of the Platinum Members, and (iii) a majority
>> of the Individual Members voting (but only if at least 25% of the Individual
>> Members vote at an annual or special meeting): Article II (not including the
>> Appendices referenced in Article II), Sections 4.1, 4.2(a), 4.9, 4.10, 4.11,
>> 4.13, 4.17, 4.20, 7.1, 7.2, 7.3, 7.4 " 7.3 is the Trademark Policy
>>
>>>
>>>
>>>> This interpretation alligns with the special clause on ammendments in
>>>> the bylaws "the Board of Directors may by majority vote, amend the
>>>> Trademark Policy prior to January 31, 2013 to establish testing and
>>>> certification requirements for the use of the trademarks owned by the
>>>> Foundation in connection with the use of the Core OpenStack
>>>> Project."[7] What is the progress on drafting a revision to the
>>>> trademark policy? Is there a preliminary draft on the proposed change?
>>>> Seeing this would help me wrap my better understand DefCore.
>>>
>>> Good question, I don't know if the Foundation is working on drafting a
>>> new trademark policy.
>>>
>>> AIUI the Foundation staff is responsible for the details of the
>>> trademark policy and it has changed somewhat since the bylaws were
>>> drafted. I think it was only included in the bylaws for informational
>>> purposes and doesn't require a vote of the Individual Members. Then
>>> again, section 9.2(a) suggests voting is required to change any of the
>>> appendices.
>>>
>>> Thanks,
>>> Mark.
>>>
>>>> [0] https://wiki.openstack.org/wiki/Governance/DefCoreCommittee
>>>> [1] http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/
>>>> Sections 4.1.b
>>>> [2] http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/
>>>> Sections 4.13.b
>>>> [3] https://etherpad.openstack.org/p/DefCoreBylawsIPE
>>>> [5] https://wiki.openstack.org/wiki/Governance/CoreDefinition
>>>> [6] http://www.openstack.org/brand/openstack-trademark-policy/
>>>> [7] http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/
>>>> Sections 9.2.d
>>>
>>>
>>
>>
>> _______________________________________________
>> Foundation mailing list
>> Foundation@lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
>>
>
> Thanks,
> Michael
>
> --
> Rackspace Australia
>
> _______________________________________________
> Defcore-committee mailing list
> Defcore-committee@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/defcore-committee


_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
Great summary Jonathan.

TL;DR if you read to the end I mention Ceph!

Here are the key points which relate to the debate at hand.

1) The TM policy itself simply requires companies to get a license for commercial use, but does not dictate what the contents of those licenses should be. The requirements inside of those license agreements can be updated as needed by the Foundation.

2) The current product requirements in those agreements are essentially “include entirety of Nova & Swift from a recent release and pass some FITs tests approved by the TC when available." This is outdated and insufficient given how fast the project has expanded, but it is the status quo. Any improvement on this status quo is progress in my book, fwiw.

3) The real question is: what should those technical requirements be to call your product “OpenStack” (i.e. to get a license)? In particular, how should the code inclusion requirements evolve?

If we can come to a consensus on an answer to that question, we (the foundation staff) can work with our trademark counsel to update the agreements. That won’t be a lengthy process, as the product requirements are all in one section of the agreements.

The trick is coming to a consensus on what those requirements should be. Amending the Bylaws to clear up the admittedly confusing language is a nice thing to pursue for the sake of clarity, but I think it’s a red herring for the more pressing matter.

Defcore was formed to come up with that answer, in an open community involved way, in conjunction with the TC and PTLs and any other stakeholders. I don’t want to try to summarize the current state of Defcore in this email, but in general the direction is to express the requirements in terms of capabilities as well as tests, rather than projects per se, with code requirements that are likely to be less than 100% within each particular project.

The question that is raised when we consider going below 100% of a particular project, is do you eventually consider 0%, as long as the APIs are implemented? Let’s say, hypothetically, your product or cloud service exposes the Swift API but uses an alternative back end, say Ceph for example. Is that still “OpenStack”? Let’s face it, that’s the question on a lot of people’s minds. The Defcore committee has approached these questions holistically by starting with documenting criteria for making such weighty decisions. The time draws near to make the big calls, so if you care about this stuff, get involved!

Mark




> On Jun 25, 2014, at 11:10 AM, Jonathan Bryce <jonathan@openstack.org> wrote:
>
> Rather than going line-by-line through several of the previous messages in the thread, I wanted to clarify the existing framework that governs OpenStack trademark usage, which I think may address a few of the comments. It can be a complicated issue because there are several documents that are involved and they impact different areas of trademark usage. Fair warning: this email is really long. = )
>
> 1) The Bylaws - The Bylaws of the OpenStack Foundation (http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/) with Appendices are the overall governing documents for the Foundation. They define the Project, the Membership, delegate authority to the Technical Committee, the Board of Directors, and in Section 7.3 point to the Trademark Policy (http://www.openstack.org/brand/openstack-trademark-policy/) as the governing document of trademark usage.
>
> The Bylaws also contain what has ended up being a much debated sentence of varied interpretation in Section 4.1(b). I’m going to deviate from just recounting solidly established fact for a minute to explain how I have historically viewed 4.1(b) in the context of overall trademark usage, the history of some of the terms used, and the drafting of the Bylaws.
>
> The context of Section 4.1 is "General Powers." This section is meant to define at the very highest level, the overall breakdown of responsibility in the Foundation.
>
> Section 4.1(a) contains a pretty standard corporate line stating that the affairs of the Foundation are overseen by its Board of Directors: "The business and affairs of the Foundation shall be managed by or under the direction of a Board of Directors, who may exercise all of the powers of the Foundation except as otherwise provided by these Bylaws."
>
> Section 4.1(b) designates the Technical Committee as being responsible for "The management of the technical matters relating to the OpenStack Project.…”
> It also defines the term "OpenStack Project" to include work produced by the technical community and governed by the Technical Committee, including "a 'Core OpenStack Project,' library projects, gating projects and supporting projects.”
>
> In the very early days of OpenStack, July of 2010, there were only 2 projects: Compute and Object Storage. Within the first 6 months, other projects got off the ground and we created the initial rudimentary incubation process. The Project Policy Board was the governance body at the time, and we created a delineation between software that was an established part of OpenStack (called “core” projects) and software that was getting started and may become an established part later (called “incubated” projects). All of this software was intended to be used to build a public or private cloud. It was all “cloud software."
>
> It’s hard to picture this now with our current level of development activity, but at the time, there were only a few dozen total contributors across all of OpenStack, and the systems for managing the development process were MUCH more basic. As the number of developers and contributions grew rapidly and we begin to commit more effort to automated testing and CI, the community started to develop software that made the continued growth and improved quality possible. This software enhanced the development process of building OpenStack, but was not “cloud software” in the sense that it was never meant to be distributed as OpenStack to build a public or private cloud. These were the library, gating and supporting projects. These were being formally recognized by the technical governance right around the time that we were forming the Foundation and drafting the Bylaws in 2012.
>
> In writing the Bylaws, the defined term “OpenStack Project” refers to the whole body of governed OpenStack software. The defined term “Core OpenStack Project” refers to the specific pieces that were the original two components plus the later components that had gone through the incubation and core graduation process. The existing core projects at the time of drafting are listed at the end of 4.1(b) "Block Storage, Compute, Dashboard, Identity Service, Image Service, Networking, and Object Storage.” No changes to the set of core projects have been made since that time.
>
> At the time of drafting the Bylaws, we included a process for modifying what comprised the “Core OpenStack Project,” which can be seen in section 4.13(b): "The Technical Committee shall have the authority to determine the modules for addition, combination, split or deletion from the OpenStack Project except for modules of the Core OpenStack Project (as defined in Section 4.1(b) above) which shall be managed as provided below. For modules of the Core OpenStack Project, the Technical Committee may recommend to the Board of Directors the modules for addition, combination, split or deletion from the Core OpenStack Project. Except as provided below, the Board of Directors shall consider only those additions, combinations, splits or deletions that are recommended by the Technical Committee, but shall have the sole authority to approve or reject such additions, combinations, splits and deletions from the Core OpenStack Project.”
>
> Basically, the TC is responsible for the scope of the overall "OpenStack Project," but for any changes to the “Core OpenStack Project,” the Board of Directors must also approve the recommended change from the Technical Committee.
>
> This brings us back to Section 4.1(b). This section gives explicit permission to refer to the components of the “Core OpenStack Project" with OpenStack trademarks: "The Core OpenStack Project means the software modules which are part of an integrated release and for which an OpenStack trademark may be used.” The next sentence is the hotly debated one: "The other modules which are part of the OpenStack Project, but not the Core OpenStack Project may not be identified using the OpenStack trademark except when distributed with the Core OpenStack Project."
>
> The intent of Section 4.1 is not to define the totality of allowed trademark usage. The Bylaws are explicit in Section 7.3 that the referenced Trademark Policy is the governing document for overall trademark usage. The intent of this section was to provide a distinction between the OpenStack community-developed software that is developed and made available to build OpenStack clouds, and the OpenStack community-developed software that is developed for other purposes (e.g. testing, CI). If you take a project like Jenkins Job Builder (JJB), for instance, it is developed within the OpenStack Infra program. However, if you were to take only JJB, and create a service that took YAML files and configured Jenkins machines, that is very different from creating an “OpenStack Cloud.” It would be confusing to the market to launch that service and say “I’m running OpenStack,” so the intent of this portion of 4.1(b) was to draw a line between the community-developed, TC-governed projects that are used to build an instance of “OpenStack” and the projects that are not.
>
> The controversial aspect comes in when you start talking about the modules that are intended to be used to be cloud services but that are not part of core (e.g. Heat). In my reading, these projects fall under the except clause from the sentence above: "except when distributed with the Core OpenStack Project.” While Heat may not be a part of the Core OpenStack Project because it has not gone through the process in 4.13(b), it is distributed as part of the integrated release with the entirety of the Core OpenStack Project. In my mind, it creates a very odd mismatch for the community to work for six months on the code, do an integrated release of OpenStack software, and for some pieces of that development effort to not actually be “OpenStack.” By my recollection, this is the exact scenario for which we added the “except” to the sentence in question during drafting the Bylaws. So we could talk about all of the components of the OpenStack integrated release as being part of OpenStack. I’ve yet to hear a sensible alternate explanation for the purpose or meaning of the exception in that sentence.
>
> So then, you may ask, what is the difference between Core and Integrated when it comes to the trademark guidelines. We’ll get to that in just a moment. Let’s look at the other documents of the trademark framework.
>
> 2) The Trademark Policy - The Trademark Policy is the primary governing document for OpenStack mark usage. The policy has not changed since the Foundation was created, and would require a high-bar amendment process as defined in Section 9.2(d). This high bar was put in place because we saw the OpenStack trademark as a community asset in non-commercial contexts.
>
> The policy describes and sets out explicitly the right of the community to use the marks for community, non-commercial, community-building purposes. It also prohibits commercial, attention-getting, and branding usage of OpenStack marks without a license from the Foundation. The OpenStack Foundation has the power to grant and revoke the commercial-use licenses and to specify eligibility requirements for those licenses. It lays out several of the licensing programs that existed at the time of drafting but also states "Other licensing programs may be available for a specific use. Please contact us at logo@openstack.org for obtaining the applicable OpenStack Trademark License.” That leads us to the third piece of the framework...
>
> 3) Commercial Use Trademark Licenses - There are several commercial use licensing programs that the Foundation administers. These can be seen in the side navigation on the Trademark Policy page. These licenses allow commercial entities to incorporate OpenStack marks into their product marketing—for instance Acme Cloud Solution Powered by OpenStack or Acme Training for OpenStack.
>
> When licensing a trademark, it is important from a legal perspective to have some quality control around the usage so we can still claim and defend the trademark. It’s also important to ensure that there is clarity in the market. Each of the commercial-use licenses have a set of requirements to provide this quality control. For instance, for the OpenStack Powered agreement, your product needs to run OpenStack, including at least the Compute and Object Storage components, it must be running a relatively recent release, it must expose the OpenStack APIs, you must be clear about which OpenStack components and versions are included, and you must pass tests that validate its compatibility.
>
> Back to the earlier question about the difference between Core and Integrated. Once the Foundation was established and these processes and governance bodies had gotten settled in, the intent was to replace the specific enumeration of two projects (Compute and Object Storage) in these licenses with a reference to the Core OpenStack Project. Then, the Core OpenStack Project would become the common set of required software and APIs that commercial products must incorporate to be able to license OpenStack marks. It would be the baseline for compatibility and interoperability. So while the OpenStack release may contain any number of projects, they may not all be required to be present in every commercial implementation and distribution of OpenStack and licensed the OpenStack trademark. A change like this is part of the Foundation-administered license, rather than an amendment to the Bylaws or Trademark Policy.
>
> The testing was also a carryover from pre-Foundation days when it was being worked on by the Project Policy Board. The licenses still contain a reference to a test suite approved by the Technical Committee. This test suite has yet to be implemented, however, once in place, it can fit into the existing license agreements.
>
>
>
> From my understanding, DefCore is hoping to clarify the debated areas in Bylaws through some amendments, provide the missing testing that’s already mentioned in the license agreements, and come up with an aggregation of which code across integrated projects is required to be included in a commercial product, replacing the current enumeration of two projects. Getting into the details of that process is beyond the scope of what I was hoping to touch on in this email (it’s arguably too long already). I know there’s going to be a dedicated TC/DefCore meeting next week that will hopefully clarify the purpose and path forward even more. Thanks,
>
> Jonathan
>
>
>
> On Jun 24, 2014, at 8:52 PM, Michael Still <mikal@stillhq.com> wrote:
>
>> On Wed, Jun 25, 2014 at 9:53 AM, Joe Gordon <joe.gordon0@gmail.com> wrote:
>>> On Tue, Jun 24, 2014 at 2:56 PM, Mark McLoughlin <markmc@redhat.com> wrote:
>>>> On Sun, 2014-06-22 at 22:19 -0700, Joe Gordon wrote:
>>>>> Hi all,
>>>>>
>>>>> In trying to wrap my head around DefCore, I read the DefCore
>>>>> committe's mission as documented on the committee's wiki page[0]. The
>>>>> mission is to "define 'OpenStack Core' as chartered by the by-laws and
>>>>> guided by Governance/CoreDefinition.' While the bylaws don't have any
>>>>> reference to "OpenStack Core" they do define a term called "Core
>>>>> OpenStack Project"[1]. Is this what the DefCore Comittee is refering
>>>>> to when talking about "OpenStack Core?"
>>>>
>>>> Yes, it is. The crucial bit is:
>>>>
>>>> "The Core OpenStack Project means the software modules which are part
>>>> of an integrated release and for which an OpenStack trademark may be
>>>> used. The other modules which are part of the OpenStack Project, but
>>>> not the Core OpenStack Project may not be identified using the
>>>> OpenStack trademark except when distributed with the Core OpenStack
>>>> Project."
>>>>
>>>> The aspect of this I think everyone is agreed on is that "The Core
>>>> OpenStack Project" is a subset of the integrated release. And that "The
>>>> Core OpenStack Project" has something to do with the OpenStack
>>>> trademark.
>>>>
>>>> There are two interpretations of this AFAICT:
>>>>
>>>> 1) Only the core modules can be called OpenStack Foo and OpenStack Bar
>>>>
>>>> 2) Only the core modules can be required in some way for commercial
>>>> products which license the OpenStack trademark in some way
>>>
>>>
>>> Isn't legalese fun. I have a third interpretation that combined those two.
>>>
>>> Only the core modules can be called OpenStack Foo and OpenStack Bar (as long
>>> as the usage is in line with the Trademark Policy), and how the trademarks
>>> are licensed is subject to the Trademark Policy. The Trademark Policy cannot
>>> define a trademark that only requires something outside of the Core
>>> OpenStack Project. For example the Trademark Policy clearly states what is
>>> required to use the "Powered by OpenStack™" trademark. So the issue of
>>> licensing the trademark for commercial products is purview of only the
>>> Trademark Policy. Any requirements of running or passing specific tests
>>> would fit under the Trademark Policy.
>>
>> I gave Joe a call to have a chat about this, and it seems to be we can
>> best progress this by sharing a draft of the proposed trade mark
>> policy after the defcore changes go through. Who can share a link to
>> the proposed new policy?
>>
>>>> The DefCore effort is about clarifying (2) "by defining 1) capabilities,
>>>> 2) code and 3) must-pass tests for all OpenStack products. This
>>>> definition [..] drives interoperability by creating the minimum
>>>> standards for products labeled "OpenStack."
>>>
>>>
>>> Based on my interpretation above, this goal would not apply to defining
>>> core, but about amending the Trademark Policy, as the bylaws describe when
>>> talking about how the Board of Directors may amend the the Trademark Policy
>>> without doing a general vote as long as the amendment is made prior to
>>> January 31, 2013.
>>>
>>> "amend the Trademark Policy prior to January 31, 2013 to establish testing
>>> and certification requirements for the use of the trademarks owned by the
>>> Foundation in connection with the use of the Core OpenStack Project."
>>>
>>>>
>>>>
>>>>> If so, the bylaws already clearly state the process to change what
>>>>> software modules make up the "Core OpenStack Project." The Technical
>>>>> Committee(TC) proposes a change to what is in the "Core OpenStack
>>>>> Project" and the Board of Directors has the sole authrity to approve
>>>>> or reject the TC's recommendation [2].
>>>>
>>>> Under interpretation (1) above, that means the TC can ask the board for
>>>> e.g. Heat to be called OpenStack Orchestration:
>>>>
>>>>
>>>> http://git.openstack.org/cgit/openstack/governance/tree/resolutions/20131106-ceilometer-and-heat-official-names.rst
>>>
>>>
>>> To the best of my knowledge the Board of Directors has not approved this
>>> resolution. I have not been able to find any evidence of a vote on this.
>>>
>>>>
>>>>
>>>>
>>>> Under interpretation (2) above, the TC would be recommending that Heat
>>>> should in some way be required for OpenStack products.
>>>
>>>
>>>
>>> The current list of The current list of modules in "Core OpenStack Project"
>>> are "Block Storage, Compute, Dashboard, Identity Service, Image Service,
>>> Networking, and Object Storage modules." But the Trademark Policy says "The
>>> Powered by OpenStack' Logo, shown immediately below, may be used by
>>> individuals, organizations, and companies that use formally released
>>> OpenStack Compute (Nova) code in their application or product." And never
>>> says an OpenStack product must run all the modules in "Core OpenStack
>>> Project." In fact it never uses the word 'Core.'
>>>
>>> which makes me thing interpretation (2) is not entirely correct.
>>>
>>>>
>>>>
>>>>> This mismatch between DefCore's mission and the bylaws has already
>>>>> been identified by the DefCore committee itself [3]. So if the current
>>>>> mission statement doesn't align with the bylaws then what is the
>>>>> DefCore committe's current mission statement?
>>>>
>>>> It's part of the DefCore committee's mission to help get the bylaws
>>>> confusion clarified AIUI.
>>>>
>>>> AFAICT the assumption is that the language should be clarified such that
>>>> interpretation (2) is clear.
>>>>
>>>>> The 'Core Definition' document[5] mentions DefCore will help
>>>>> "determine how commercial implementations of OpenStack can be granted
>>>>> use of the trademark," and the committee "may suggest changes to the
>>>>> by-laws to clarify the definition of core." So presumably DefCore is
>>>>> not about defining "Core OpenStack Project," but rather about revising
>>>>> the trademark policy as defined in Appendix 8 of the bylaws [6].
>>>>
>>>> It's about changing how "Core OpenStack Project" is defined such that it
>>>> is no longer "a set of modules which is a subset of the integrated
>>>> release" but instead "a set of API tests and required sections of code".
>>>>
>>>> That involves both coming up with the process for managing that (in that
>>>> it wouldn't begin simply with the TC nominating some modules for Core)
>>>> and proposing the bylaws changes to reflect the process.
>>>>
>>>> That raises the question of what happens if DefCore-recommended bylaws
>>>> changes can't be passed. What interpretation of the current bylaws
>>>> allows the commercial trademark requirements process to evolve in this
>>>> way?
>>>
>>>
>>> The bylaws seem pretty clear about this, the commercial trademark
>>> requirements cannot evolve without a large vote " In addition to the vote of
>>> the Board of Directors as provided in Section 9.1, the amendment of the
>>> following Sections requires an affirmative vote of (i) two-thirds of the
>>> Gold Members, (ii) two-thirds of the Platinum Members, and (iii) a majority
>>> of the Individual Members voting (but only if at least 25% of the Individual
>>> Members vote at an annual or special meeting): Article II (not including the
>>> Appendices referenced in Article II), Sections 4.1, 4.2(a), 4.9, 4.10, 4.11,
>>> 4.13, 4.17, 4.20, 7.1, 7.2, 7.3, 7.4 " 7.3 is the Trademark Policy
>>>
>>>>
>>>>
>>>>> This interpretation alligns with the special clause on ammendments in
>>>>> the bylaws "the Board of Directors may by majority vote, amend the
>>>>> Trademark Policy prior to January 31, 2013 to establish testing and
>>>>> certification requirements for the use of the trademarks owned by the
>>>>> Foundation in connection with the use of the Core OpenStack
>>>>> Project."[7] What is the progress on drafting a revision to the
>>>>> trademark policy? Is there a preliminary draft on the proposed change?
>>>>> Seeing this would help me wrap my better understand DefCore.
>>>>
>>>> Good question, I don't know if the Foundation is working on drafting a
>>>> new trademark policy.
>>>>
>>>> AIUI the Foundation staff is responsible for the details of the
>>>> trademark policy and it has changed somewhat since the bylaws were
>>>> drafted. I think it was only included in the bylaws for informational
>>>> purposes and doesn't require a vote of the Individual Members. Then
>>>> again, section 9.2(a) suggests voting is required to change any of the
>>>> appendices.
>>>>
>>>> Thanks,
>>>> Mark.
>>>>
>>>>> [0] https://wiki.openstack.org/wiki/Governance/DefCoreCommittee
>>>>> [1] http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/
>>>>> Sections 4.1.b
>>>>> [2] http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/
>>>>> Sections 4.13.b
>>>>> [3] https://etherpad.openstack.org/p/DefCoreBylawsIPE
>>>>> [5] https://wiki.openstack.org/wiki/Governance/CoreDefinition
>>>>> [6] http://www.openstack.org/brand/openstack-trademark-policy/
>>>>> [7] http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/
>>>>> Sections 9.2.d
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Foundation mailing list
>>> Foundation@lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
>>>
>>
>> Thanks,
>> Michael
>>
>> --
>> Rackspace Australia
>>
>> _______________________________________________
>> Defcore-committee mailing list
>> Defcore-committee@lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/defcore-committee
>
>
> _______________________________________________
> Foundation mailing list
> Foundation@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation


_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
Hi Jonathan,

On Wed, 2014-06-25 at 11:10 -0500, Jonathan Bryce wrote:
> Rather than going line-by-line through several of the previous
> messages in the thread, I wanted to clarify the existing framework
> that governs OpenStack trademark usage, which I think may address a
> few of the comments. It can be a complicated issue because there are
> several documents that are involved and they impact different areas of
> trademark usage. Fair warning: this email is really long. = )

Thanks for doing this. I think it's fair to say that many of us are
growing weary of debating the nuances of this stuff, but it's clear that
confusion (including my own confusion) persists. Your email really helps
IMHO.

> 1) The Bylaws - The Bylaws of the OpenStack Foundation
> (http://www.openstack.org/legal/bylaws-of-the-openstack-foundation/)
> with Appendices are the overall governing documents for the
> Foundation. They define the Project, the Membership, delegate
> authority to the Technical Committee, the Board of Directors, and in
> Section 7.3 point to the Trademark Policy
> (http://www.openstack.org/brand/openstack-trademark-policy/) as the
> governing document of trademark usage.
>
> The Bylaws also contain what has ended up being a much debated
> sentence of varied interpretation in Section 4.1(b). I’m going to
> deviate from just recounting solidly established fact for a minute to
> explain how I have historically viewed 4.1(b) in the context of
> overall trademark usage, the history of some of the terms used, and
> the drafting of the Bylaws.
>
> The context of Section 4.1 is "General Powers." This section is meant
> to define at the very highest level, the overall breakdown of
> responsibility in the Foundation.
>
> Section 4.1(a) contains a pretty standard corporate line stating that
> the affairs of the Foundation are overseen by its Board of Directors:
> "The business and affairs of the Foundation shall be managed by or
> under the direction of a Board of Directors, who may exercise all of
> the powers of the Foundation except as otherwise provided by these
> Bylaws."
>
> Section 4.1(b) designates the Technical Committee as being responsible
> for "The management of the technical matters relating to the OpenStack
> Project.…”
> It also defines the term "OpenStack Project" to include work produced
> by the technical community and governed by the Technical Committee,
> including "a 'Core OpenStack Project,' library projects, gating
> projects and supporting projects.”
>
> In the very early days of OpenStack, July of 2010, there were only 2
> projects: Compute and Object Storage. Within the first 6 months, other
> projects got off the ground and we created the initial rudimentary
> incubation process. The Project Policy Board was the governance body
> at the time, and we created a delineation between software that was an
> established part of OpenStack (called “core” projects) and software
> that was getting started and may become an established part later
> (called “incubated” projects). All of this software was intended to be
> used to build a public or private cloud. It was all “cloud software."
>
> It’s hard to picture this now with our current level of development
> activity, but at the time, there were only a few dozen total
> contributors across all of OpenStack, and the systems for managing the
> development process were MUCH more basic. As the number of developers
> and contributions grew rapidly and we begin to commit more effort to
> automated testing and CI, the community started to develop software
> that made the continued growth and improved quality possible. This
> software enhanced the development process of building OpenStack, but
> was not “cloud software” in the sense that it was never meant to be
> distributed as OpenStack to build a public or private cloud. These
> were the library, gating and supporting projects. These were being
> formally recognized by the technical governance right around the time
> that we were forming the Foundation and drafting the Bylaws in 2012.
>
> In writing the Bylaws, the defined term “OpenStack Project” refers to
> the whole body of governed OpenStack software. The defined term “Core
> OpenStack Project” refers to the specific pieces that were the
> original two components plus the later components that had gone
> through the incubation and core graduation process. The existing core
> projects at the time of drafting are listed at the end of 4.1(b)
> "Block Storage, Compute, Dashboard, Identity Service, Image Service,
> Networking, and Object Storage.” No changes to the set of core
> projects have been made since that time.
>
> At the time of drafting the Bylaws, we included a process for
> modifying what comprised the “Core OpenStack Project,” which can be
> seen in section 4.13(b): "The Technical Committee shall have the
> authority to determine the modules for addition, combination, split or
> deletion from the OpenStack Project except for modules of the Core
> OpenStack Project (as defined in Section 4.1(b) above) which shall be
> managed as provided below. For modules of the Core OpenStack Project,
> the Technical Committee may recommend to the Board of Directors the
> modules for addition, combination, split or deletion from the Core
> OpenStack Project. Except as provided below, the Board of Directors
> shall consider only those additions, combinations, splits or deletions
> that are recommended by the Technical Committee, but shall have the
> sole authority to approve or reject such additions, combinations,
> splits and deletions from the Core OpenStack Project.”
>
> Basically, the TC is responsible for the scope of the overall
> "OpenStack Project," but for any changes to the “Core OpenStack
> Project,” the Board of Directors must also approve the recommended
> change from the Technical Committee.

And I guess one way of looking at how that has evolved since is that we
(the TC, at least) now see the "Integrated OpenStack Project" as being
the "cloud software" which has passed through our integration process.
It is the subset of the OpenStack Project which is intended to be used
to provide public and private cloud services.

This is a pretty straightforward clarification of TC powers - the TC
determines the scope of the OpenStack Project and is responsible for the
incubation process. Whether a project is "cloud software" is pretty much
a question of fact, not a policy decision. So, we needed a term to
describe "cloud software" projects which we've included in the OpenStack
Project and graduated from the incubation process, but which have not
yet been through a process by which the Board of Directors included it
in the "Core OpenStack Project". We now call that "Integrated".

It does beg the question, what exactly then is the purpose of this "Core
OpenStack Project" idea. I've always felt it was strictly related to
some trademark concepts, and strictly a Board of Directors matter since
trademark policy decisions are also a Board matter.

(You raise an interesting point on that, though - the Trademark Policy
isn't something the Board can change of its own accord, so their powers
are in relation to the trademark license agreements which the Foundation
staff take much of the responsibility for)

> This brings us back to Section 4.1(b). This section gives explicit
> permission to refer to the components of the “Core OpenStack Project"
> with OpenStack trademarks: "The Core OpenStack Project means the
> software modules which are part of an integrated release and for which
> an OpenStack trademark may be used.” The next sentence is the hotly
> debated one: "The other modules which are part of the OpenStack
> Project, but not the Core OpenStack Project may not be identified
> using the OpenStack trademark except when distributed with the Core
> OpenStack Project."
>
> The intent of Section 4.1 is not to define the totality of allowed
> trademark usage. The Bylaws are explicit in Section 7.3 that the
> referenced Trademark Policy is the governing document for overall
> trademark usage. The intent of this section was to provide a
> distinction between the OpenStack community-developed software that is
> developed and made available to build OpenStack clouds, and the
> OpenStack community-developed software that is developed for other
> purposes (e.g. testing, CI). If you take a project like Jenkins Job
> Builder (JJB), for instance, it is developed within the OpenStack
> Infra program. However, if you were to take only JJB, and create a
> service that took YAML files and configured Jenkins machines, that is
> very different from creating an “OpenStack Cloud.” It would be
> confusing to the market to launch that service and say “I’m running
> OpenStack,” so the intent of this portion of 4.1(b) was to draw a line
> between the community-developed, TC-governed projects that are used to
> build an instance of “OpenStack” and the projects that are not.
>
> The controversial aspect comes in when you start talking about the
> modules that are intended to be used to be cloud services but that are
> not part of core (e.g. Heat). In my reading, these projects fall under
> the except clause from the sentence above: "except when distributed
> with the Core OpenStack Project.” While Heat may not be a part of the
> Core OpenStack Project because it has not gone through the process in
> 4.13(b), it is distributed as part of the integrated release with the
> entirety of the Core OpenStack Project. In my mind, it creates a very
> odd mismatch for the community to work for six months on the code, do
> an integrated release of OpenStack software, and for some pieces of
> that development effort to not actually be “OpenStack.” By my
> recollection, this is the exact scenario for which we added the
> “except” to the sentence in question during drafting the Bylaws. So we
> could talk about all of the components of the OpenStack integrated
> release as being part of OpenStack. I’ve yet to hear a sensible
> alternate explanation for the purpose or meaning of the exception in
> that sentence.

So, your summary of the "except" clause is basically that it allows what
we now call the "Integrated OpenStack Project" to be described as
OpenStack. That all modules in the integrated release can be described
as OpenStack because they are distributed together.

> So then, you may ask, what is the difference between Core and
> Integrated when it comes to the trademark guidelines. We’ll get to
> that in just a moment. Let’s look at the other documents of the
> trademark framework.
>
> 2) The Trademark Policy - The Trademark Policy is the primary
> governing document for OpenStack mark usage. The policy has not
> changed since the Foundation was created, and would require a high-bar
> amendment process as defined in Section 9.2(d). This high bar was put
> in place because we saw the OpenStack trademark as a community asset
> in non-commercial contexts.
>
> The policy describes and sets out explicitly the right of the
> community to use the marks for community, non-commercial,
> community-building purposes. It also prohibits commercial,
> attention-getting, and branding usage of OpenStack marks without a
> license from the Foundation. The OpenStack Foundation has the power to
> grant and revoke the commercial-use licenses and to specify
> eligibility requirements for those licenses. It lays out several of
> the licensing programs that existed at the time of drafting but also
> states "Other licensing programs may be available for a specific use.
> Please contact us at logo@openstack.org for obtaining the applicable
> OpenStack Trademark License.” That leads us to the third piece of the
> framework...

This is a hugely important distinction and one that I'd forgotten about.
The DefCore process is not about changing the Trademark Policy as
defined it in the bylaws, it is about evolving and clarifying the
requirements for some of our Trademark Licenses.

> 3) Commercial Use Trademark Licenses - There are several commercial
> use licensing programs that the Foundation administers. These can be
> seen in the side navigation on the Trademark Policy page. These
> licenses allow commercial entities to incorporate OpenStack marks into
> their product marketing—for instance Acme Cloud Solution Powered by
> OpenStack or Acme Training for OpenStack.

In terms of publicly visible trademark license programs that are
relevant to the DefCore process, I guess the requirements for use of the
"OpenStack Powered" logo is the relevant license? And I see that license
isn't just about the logo, but also permission to including the
OpenStack Word Mark and "Powered" in their product name, e.g. Acme Cloud
Solution Powered by OpenStack, as you describe.

However, see plenty of OpenStack products in the market place who use
the Word Mark in different ways:

http://www.openstack.org/marketplace/distros/

HP Helion OpenStack®
Red Hat Enterprise Linux OpenStack Platform
Ubuntu OpenStack
Metacloud OpenStack
Mirantis OpenStack
etc.

Have each of these companies obtained a different Word Mark license
agreement (i.e. something other than the "OpenStack Powered" license)
from the Foundation? Do those licenses essentially have the same
requirements as the "OpenStack Powered" license, except they allow
slightly different usage of the Word Mark?

Clarifying exactly which trademark licenses DefCore is relevant to turns
out to be pretty important. If you look at e.g.

https://wiki.openstack.org/wiki/Governance/DefCoreCommittee
creating the minimum standards for products labeled "OpenStack."

https://wiki.openstack.org/wiki/Governance/CoreDefinition
Implementations that are Core can use OpenStack trademark
(OpenStackâ„¢)

you'd be forgiven in thinking that this is a much broader thing than
simply the "OpenStack Powered" licenses, and the only place I've seen
this made more clear is here:

http://www.slideshare.net/rhirschfeld/what-is-openstack-defcore-altanta-conference/13
"OpenStack Powered"

> When licensing a trademark, it is important from a legal perspective
> to have some quality control around the usage so we can still claim
> and defend the trademark. It’s also important to ensure that there is
> clarity in the market. Each of the commercial-use licenses have a set
> of requirements to provide this quality control. For instance, for the
> OpenStack Powered agreement, your product needs to run OpenStack,
> including at least the Compute and Object Storage components, it must
> be running a relatively recent release, it must expose the OpenStack
> APIs, you must be clear about which OpenStack components and versions
> are included, and you must pass tests that validate its compatibility.
>
> Back to the earlier question about the difference between Core and
> Integrated. Once the Foundation was established and these processes
> and governance bodies had gotten settled in, the intent was to replace
> the specific enumeration of two projects (Compute and Object Storage)
> in these licenses with a reference to the Core OpenStack Project.
> Then, the Core OpenStack Project would become the common set of
> required software and APIs that commercial products must incorporate
> to be able to license OpenStack marks. It would be the baseline for
> compatibility and interoperability. So while the OpenStack release may
> contain any number of projects, they may not all be required to be
> present in every commercial implementation and distribution of
> OpenStack and licensed the OpenStack trademark. A change like this is
> part of the Foundation-administered license, rather than an amendment
> to the Bylaws or Trademark Policy.

The way DefCore has evolved, the Bylaws concept of the "Core OpenStack
Project" becomes pretty much irrelevant - if its only purpose was to be
referenced in the trademark licenses and we no longer plan to reference
it in the trademark licenses, then it no longer has a purpose?

Instead, we now have the concept of "designated sections", and the TC
and PTLs are being asked to help DefCore figure out what code should be
"designated". So far, we've come up with this attempt at guidelines:

http://git.openstack.org/cgit/openstack/governance/tree/resolutions/20140402-defcore-designated-sections-guidelines.rst

which, in retrospect, are still fairly ambiguous and confusing. The
question of which code should be designated is not simply a technical
question, it is a policy question. And it is not yet clear what values
are driving the desired policy outcome.

The main question around policy and values is the "project design
explicitly intended this section to be replaceable" part. Projects may
have a "driver" or "plugin" layer and you could argue that this layer is
intended to make the code underneath it "replaceable", but we may have
several upstream drivers or plugins. Is the intended outcome of DefCore
that the "OpenStack Powered" trademark license allows proprietary
drivers or plugins, only open-source drivers or plugins, or only
upstream drivers or plugins?

If the intent is for "non-designated sections" of code to be replaceable
by proprietary implementations under the "OpenStack Powered" trademark
license, then the TC and PTLs are being asked "which sections of code
should the trademark license allow proprietary alternatives?". That
seems like a bizarrely loaded and charged trademark policy question,
rather than a purely technical question.

> The testing was also a carryover from pre-Foundation days when it was
> being worked on by the Project Policy Board. The licenses still
> contain a reference to a test suite approved by the Technical
> Committee. This test suite has yet to be implemented, however, once in
> place, it can fit into the existing license agreements.
>
>
>
> From my understanding, DefCore is hoping to clarify the debated areas
> in Bylaws through some amendments,

Personally I'm not paying too much attention to the Bylaws aspect of
this right now since it seems the least pressing - DefCore plans to make
progress on the other aspects without any Bylaws changes.

> provide the missing testing that’s already mentioned in the license
> agreements,

This is the part which seems the furthest along. It is also the part
which is most important to driving improved interoperability.

> and come up with an aggregation of which code across integrated
> projects is required to be included in a commercial product, replacing
> the current enumeration of two projects.

This part still seems the most controversial and is now somewhat stalled
because the hugely charged policy question has been punted to the TC and
PTLs.

> Getting into the details of that process is beyond the scope of what
> I was hoping to touch on in this email (it’s arguably too long
> already). I know there’s going to be a dedicated TC/DefCore meeting
> next week that will hopefully clarify the purpose and path forward
> even more.

Yes, I think the meeting is necessary and is going to be useful. Your
mail provides really useful framing for that discussion.

Thanks,
Mark.


_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
On Wed, 2014-06-25 at 13:57 -0500, Mark Collier wrote:
> Great summary Jonathan.
>
> TL;DR if you read to the end I mention Ceph!
>
> Here are the key points which relate to the debate at hand.
>
> 1) The TM policy itself simply requires companies to get a license
> for commercial use, but does not dictate what the contents of those
> licenses should be. The requirements inside of those license
> agreements can be updated as needed by the Foundation.
>
> 2) The current product requirements in those agreements are
> essentially “include entirety of Nova & Swift from a recent release
> and pass some FITs tests approved by the TC when available." This is
> outdated and insufficient given how fast the project has expanded, but
> it is the status quo. Any improvement on this status quo is progress
> in my book, fwiw.

Yep, agree.

> 3) The real question is: what should those technical requirements be
> to call your product “OpenStack” (i.e. to get a license)?

We should be careful of our language around this - nobody gets to call
their product "OpenStack". This is about the technical requirements for
products to use the "OpenStack Powered" logo, call their product "Acme
Cloud Software Powered by OpenStack" or similar, or (I assume this bit -
see my question to Jonathan) call their product "Acme OpenStack".

> In particular, how should the code inclusion requirements evolve?

Yes, this is certainly the big question.

The way we've structured OpenStack governance, we have made the Board of
Directors ultimately responsible for this important policy question. The
DefCore committee, the Foundation staff, the TC, PTLs, etc. cannot make
this decision unless the board chooses to delegate the decision, which
it hasn't done AFAICT.

This wasn't my preferred structure, but the most easily understood
rationale for it is that the Foundation Board is the body best suited to
making the difficult tradeoffs required to grow the commercial ecosystem
around OpenStack.

> If we can come to a consensus on an answer to that question,

To be clear - consensus is not required. The Board can choose to proceed
to instruct the Foundation staff how the trademark licenses should be
updated without any wider community consensus.

(I should say AIUI - I'm happy for someone to explain how that isn't the
case if my understanding is wrong)

> we (the foundation staff) can work with our trademark counsel to
> update the agreements. That won’t be a lengthy process, as the product
> requirements are all in one section of the agreements.
>
> The trick is coming to a consensus on what those requirements should
> be. Amending the Bylaws to clear up the admittedly confusing language
> is a nice thing to pursue for the sake of clarity, but I think it’s a
> red herring for the more pressing matter.

Yep, agree. Jonathan's clarification about the Trademark Policy and
individual trademark license agreements makes that clear.

> Defcore was formed to come up with that answer, in an open community
> involved way, in conjunction with the TC and PTLs and any other
> stakeholders. I don’t want to try to summarize the current state of
> Defcore in this email, but in general the direction is to express the
> requirements in terms of capabilities as well as tests, rather than
> projects per se, with code requirements that are likely to be less
> than 100% within each particular project.

A simple example of this shows how the meat of these questions are
policy decisions around growing the commercial ecosystem rather than
technical ones. Cinder has a volume driver layer and quite a number of
drivers are part of the OpenStack Project and included in the Integrated
Release.

The intent of "designated sections" seems to be to avoid placing any
restrictions on vendors of "OpenStack Powered" products around what
volume driver code they use or ship. The code could be pristine drivers
from upstream, heavily patched versions of upstream drivers, open-source
but not upstream drivers, or completely proprietary drivers.

Cinder's scheduler, and various parts of cinder's scheduler, is also
extremely pluggable. If we said that the scheduler is a "designated
section" but the scheduler filters are not designated, we're saying that
proprietary filters should be allowed under the "OpenStack powered"
trademark license. Under what basis would the TCs or PTLs make that
judgment call, given that it's a question of what is best for growing
the commercial ecosystem?

> The question that is raised when we consider going below 100% of a
> particular project, is do you eventually consider 0%, as long as the
> APIs are implemented? Let’s say, hypothetically, your product or
> cloud service exposes the Swift API but uses an alternative back end,
> say Ceph for example. Is that still “OpenStack”? Let’s face it,
> that’s the question on a lot of people’s minds. The Defcore committee
> has approached these questions holistically by starting with
> documenting criteria for making such weighty decisions.

I think the criteria for deciding which API capabilities are required
has been well documented and looks to be giving a very reasonable
outcome. However, the process for deciding "designated sections" looks
increasingly backwards to me.

In the case of Swift, the conclusion so far seems to be that certain
Swift APIs could be considered required capabilities, but *only if* the
TC decides that 0% of Swift's code is designated.

https://etherpad.openstack.org/p/DefCoreLighthouse.F2F

Picking designated sections for Swift > we are in a position to choose
0 or 100 without any intermdiate.

DefCore agrees that the TC is the deciding body for designated
sections.

Official position, DefCore asks TC to resolve Swift D.S. question.

ACTION > Rob to take to TC that if Swift has any designated sections
then the DefCore committee will likely recommending omitting the
"object-*" capabilities from core.

i.e. that DefCore sees that it is impossible for the "OpenStack Powered"
trademark license to require the use of any Swift code, and that if the
TC thinks any code should be required then DefCore will recommend that
no APIs are required, effectively resulting in no code being required
anyway.

The starting assumption that "the TC is the deciding body for designated
sections" just seems (and has always seemed) wrong to me, particularly
if it results in the Board removing capabilities from the "required
capabilities" list because the Board disagrees with the TC's opinion
that the code for those APIs should be required.

Thanks,
Mark.


_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
On Sun, 2014-06-29 at 14:34 +0100, Mark McLoughlin wrote:
> On Wed, 2014-06-25 at 13:57 -0500, Mark Collier wrote:

> > The question that is raised when we consider going below 100% of a
> > particular project, is do you eventually consider 0%, as long as the
> > APIs are implemented? Let’s say, hypothetically, your product or
> > cloud service exposes the Swift API but uses an alternative back end,
> > say Ceph for example. Is that still “OpenStack”? Let’s face it,
> > that’s the question on a lot of people’s minds. The Defcore committee
> > has approached these questions holistically by starting with
> > documenting criteria for making such weighty decisions.
>
> I think the criteria for deciding which API capabilities are required
> has been well documented and looks to be giving a very reasonable
> outcome. However, the process for deciding "designated sections" looks
> increasingly backwards to me.

A fair question would be "what do you think is a not-backwards process
for answering the question of what code should be required under the
OpenStack Powered trademark license?"

Given that the board is the deciding body for that question, but they/we
are looking for the widest possible consultation on it, how about:

* The Board comes up with a very rough strawman set of "required
code" based on its very rough understanding of the technical
architecture and the current commercial ecosystem. It could be the
Defcore committee delegated to draft this strawman and the
"required code" could still be called "designated sections"

* The wider community (including the TC and PTLs) is asked to give its
input in the form of questions - i.e. "what are we missing?"

* The Board openly answers those questions (perhaps DefCore triages
and answers the straightforward ones) and those answers effectively
determine the final "required code" policy.

> In the case of Swift, the conclusion so far seems to be that certain
> Swift APIs could be considered required capabilities, but *only if* the
> TC decides that 0% of Swift's code is designated.
>
> https://etherpad.openstack.org/p/DefCoreLighthouse.F2F
>
> Picking designated sections for Swift > we are in a position to choose
> 0 or 100 without any intermdiate.
>
> DefCore agrees that the TC is the deciding body for designated
> sections.
>
> Official position, DefCore asks TC to resolve Swift D.S. question.
>
> ACTION > Rob to take to TC that if Swift has any designated sections
> then the DefCore committee will likely recommending omitting the
> "object-*" capabilities from core.
>
> i.e. that DefCore sees that it is impossible for the "OpenStack Powered"
> trademark license to require the use of any Swift code, and that if the
> TC thinks any code should be required then DefCore will recommend that
> no APIs are required, effectively resulting in no code being required
> anyway.

In the case of Swift, the strawman from the Board (or DefCore) might be:

The following capabilities should be required of OpenStack clouds:

objectstore-container
objectstore-container-quota
objectstore-container-acl
objectstore-acct-services
objectstore-container-staticweb

However, there are several commercial OpenStack products which
provide a faithful implementation of these capabilities without using
any of Swift's code. Given the way Swift is designed, we do not think
these products could be required to use a subset of Swift's code
without forcing them to choose between using all of Swift's code or
losing their license to use the "OpenStack Powered" trademark. We
feel many of these products are high-quality, valued parts of the
OpenStack ecosystem and deserve to be able to describe themselves as
"OpenStack Powered". For that reason, we feel that the trademark
license agreement should not require the use of any Swift code but we
will review this situation each release as Swift evolves to be more
pluggable.

The wider community would be invited to ask whether certain technical
details had been considered (e.g. "have you considered requiring xyz
part of Swift's API layer, since it's possible to plug any other object
storage system behind that?").

> The starting assumption that "the TC is the deciding body for designated
> sections" just seems (and has always seemed) wrong to me, particularly
> if it results in the Board removing capabilities from the "required
> capabilities" list because the Board disagrees with the TC's opinion
> that the code for those APIs should be required.

What I'm suggesting above as a process more accurately reflects the TC
and PTLs involvement here. There is a default position (e.g. no Swift
code can be required) based on an (incomplete?) technical understanding
and a (hopefully) pretty complete understanding of the commercial
ecosystem. The TC and PTLs are effectively being asked to provide some
technical oversight to make sure important technical details aren't
being missed. It's important that the wider community is invited to
participate in that technical oversight, since the TC and PTLs may not
even be the most motivated to provide thoughtful assistance on this.

Mark.


_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
Mark McLoughlin wrote:
> Given that the board is the deciding body for that question, but they/we
> are looking for the widest possible consultation on it, how about:
>
> * The Board comes up with a very rough strawman set of "required
> code" based on its very rough understanding of the technical
> architecture and the current commercial ecosystem. It could be the
> Defcore committee delegated to draft this strawman and the
> "required code" could still be called "designated sections"
>
> * The wider community (including the TC and PTLs) is asked to give its
> input in the form of questions - i.e. "what are we missing?"
>
> * The Board openly answers those questions (perhaps DefCore triages
> and answers the straightforward ones) and those answers effectively
> determine the final "required code" policy.

I agree that this process would be a lot less backward.

The TC can't be the source for designating "replaceable code": as the
representation of contributors to the project, it's difficult for us to
encourage any code replacement. However we recognize that it's within
the Board power to define trademark programs, and we can certainly
provide technical comments against a strawman proposal (as should the
PTLs and the wider community do).

--
Thierry Carrez (ttx)

_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
On Jun 29, 2014, at 7:19 AM, Mark McLoughlin <markmc@redhat.com> wrote:

> On Sun, 2014-06-29 at 14:34 +0100, Mark McLoughlin wrote:
>> On Wed, 2014-06-25 at 13:57 -0500, Mark Collier wrote:
>
>>> The question that is raised when we consider going below 100% of a
>>> particular project, is do you eventually consider 0%, as long as the
>>> APIs are implemented? Let’s say, hypothetically, your product or
>>> cloud service exposes the Swift API but uses an alternative back end,
>>> say Ceph for example. Is that still “OpenStack”? Let’s face it,
>>> that’s the question on a lot of people’s minds. The Defcore committee
>>> has approached these questions holistically by starting with
>>> documenting criteria for making such weighty decisions.
>>
>> I think the criteria for deciding which API capabilities are required
>> has been well documented and looks to be giving a very reasonable
>> outcome. However, the process for deciding "designated sections" looks
>> increasingly backwards to me.
>
> A fair question would be "what do you think is a not-backwards process
> for answering the question of what code should be required under the
> OpenStack Powered trademark license?"
>
> Given that the board is the deciding body for that question, but they/we
> are looking for the widest possible consultation on it, how about:
>
> * The Board comes up with a very rough strawman set of "required
> code" based on its very rough understanding of the technical
> architecture and the current commercial ecosystem. It could be the
> Defcore committee delegated to draft this strawman and the
> "required code" could still be called "designated sections"
>
> * The wider community (including the TC and PTLs) is asked to give its
> input in the form of questions - i.e. "what are we missing?"
>
> * The Board openly answers those questions (perhaps DefCore triages
> and answers the straightforward ones) and those answers effectively
> determine the final "required code" policy.
>
>> In the case of Swift, the conclusion so far seems to be that certain
>> Swift APIs could be considered required capabilities, but *only if* the
>> TC decides that 0% of Swift's code is designated.
>>
>> https://etherpad.openstack.org/p/DefCoreLighthouse.F2F
>>
>> Picking designated sections for Swift > we are in a position to choose
>> 0 or 100 without any intermdiate.
>>
>> DefCore agrees that the TC is the deciding body for designated
>> sections.
>>
>> Official position, DefCore asks TC to resolve Swift D.S. question.
>>
>> ACTION > Rob to take to TC that if Swift has any designated sections
>> then the DefCore committee will likely recommending omitting the
>> "object-*" capabilities from core.
>>
>> i.e. that DefCore sees that it is impossible for the "OpenStack Powered"
>> trademark license to require the use of any Swift code, and that if the
>> TC thinks any code should be required then DefCore will recommend that
>> no APIs are required, effectively resulting in no code being required
>> anyway.
>
> In the case of Swift, the strawman from the Board (or DefCore) might be:
>
> The following capabilities should be required of OpenStack clouds:
>
> objectstore-container
> objectstore-container-quota
> objectstore-container-acl
> objectstore-acct-services
> objectstore-container-staticweb
>
> However, there are several commercial OpenStack products which
> provide a faithful implementation of these capabilities without using
> any of Swift's code. Given the way Swift is designed, we do not think
> these products could be required to use a subset of Swift's code
> without forcing them to choose between using all of Swift's code or
> losing their license to use the "OpenStack Powered" trademark. We
> feel many of these products are high-quality, valued parts of the
> OpenStack ecosystem and deserve to be able to describe themselves as
> "OpenStack Powered". For that reason, we feel that the trademark
> license agreement should not require the use of any Swift code but we
> will review this situation each release as Swift evolves to be more
> pluggable.
>
> The wider community would be invited to ask whether certain technical
> details had been considered (e.g. "have you considered requiring xyz
> part of Swift's API layer, since it's possible to plug any other object
> storage system behind that?”).

+1 to this. This seems to be a much clearer position. Thank you for pointing
out the elephant and addressing it directly.

Vish

>
>> The starting assumption that "the TC is the deciding body for designated
>> sections" just seems (and has always seemed) wrong to me, particularly
>> if it results in the Board removing capabilities from the "required
>> capabilities" list because the Board disagrees with the TC's opinion
>> that the code for those APIs should be required.
>
> What I'm suggesting above as a process more accurately reflects the TC
> and PTLs involvement here. There is a default position (e.g. no Swift
> code can be required) based on an (incomplete?) technical understanding
> and a (hopefully) pretty complete understanding of the commercial
> ecosystem. The TC and PTLs are effectively being asked to provide some
> technical oversight to make sure important technical details aren't
> being missed. It's important that the wider community is invited to
> participate in that technical oversight, since the TC and PTLs may not
> even be the most motivated to provide thoughtful assistance on this.
>
> Mark.
>
>
> _______________________________________________
> Foundation mailing list
> Foundation@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
> On Jun 29, 2014, at 8:34 AM, Mark McLoughlin <markmc@redhat.com> wrote:
>
> On Wed, 2014-06-25 at 13:57 -0500, Mark Collier wrote:
>> Great summary Jonathan.
>>
>> TL;DR if you read to the end I mention Ceph!
>>
>> Here are the key points which relate to the debate at hand.
>>
>> 1) The TM policy itself simply requires companies to get a license
>> for commercial use, but does not dictate what the contents of those
>> licenses should be. The requirements inside of those license
>> agreements can be updated as needed by the Foundation.
>>
>> 2) The current product requirements in those agreements are
>> essentially “include entirety of Nova & Swift from a recent release
>> and pass some FITs tests approved by the TC when available." This is
>> outdated and insufficient given how fast the project has expanded, but
>> it is the status quo. Any improvement on this status quo is progress
>> in my book, fwiw.
>
> Yep, agree.
>
>> 3) The real question is: what should those technical requirements be
>> to call your product “OpenStack” (i.e. to get a license)?
>
> We should be careful of our language around this - nobody gets to call
> their product "OpenStack". This is about the technical requirements for
> products to use the "OpenStack Powered" logo, call their product "Acme
> Cloud Software Powered by OpenStack" or similar, or (I assume this bit -
> see my question to Jonathan) call their product "Acme OpenStack”.


Great point, no product can be called simply “OpenStack”. OpenStack (that which we produce every 6 months as a community) is, in fact, “OpenStack”. :) What is possible, with a signed license, is to use the word “OpenStack” as _part of_ your product name, when meeting all of the requirements, in a particular manner.

To directly address the word mark usage examples in product names, Jonathan did give one example (ACME Cloud Powered by OpenStack). However, in the case of Distributions, we have been granting the right to use it in combination with the company’s brand such as “Piston OpenStack” or “Red Hat OpenStack” or “Mirantis OpenStack”. Each of those examples are of products from companies who’ve signed a TM license with the foundation.




>
>> In particular, how should the code inclusion requirements evolve?
>
> Yes, this is certainly the big question.
>
> The way we've structured OpenStack governance, we have made the Board of
> Directors ultimately responsible for this important policy question. The
> DefCore committee, the Foundation staff, the TC, PTLs, etc. cannot make
> this decision unless the board chooses to delegate the decision, which
> it hasn't done AFAICT.
>
> This wasn't my preferred structure, but the most easily understood
> rationale for it is that the Foundation Board is the body best suited to
> making the difficult tradeoffs required to grow the commercial ecosystem
> around OpenStack.
>
>> If we can come to a consensus on an answer to that question,
>
> To be clear - consensus is not required. The Board can choose to proceed
> to instruct the Foundation staff how the trademark licenses should be
> updated without any wider community consensus.
>
> (I should say AIUI - I'm happy for someone to explain how that isn't the
> case if my understanding is wrong)
>
>> we (the foundation staff) can work with our trademark counsel to
>> update the agreements. That won’t be a lengthy process, as the product
>> requirements are all in one section of the agreements.
>>
>> The trick is coming to a consensus on what those requirements should
>> be. Amending the Bylaws to clear up the admittedly confusing language
>> is a nice thing to pursue for the sake of clarity, but I think it’s a
>> red herring for the more pressing matter.
>
> Yep, agree. Jonathan's clarification about the Trademark Policy and
> individual trademark license agreements makes that clear.
>
>> Defcore was formed to come up with that answer, in an open community
>> involved way, in conjunction with the TC and PTLs and any other
>> stakeholders. I don’t want to try to summarize the current state of
>> Defcore in this email, but in general the direction is to express the
>> requirements in terms of capabilities as well as tests, rather than
>> projects per se, with code requirements that are likely to be less
>> than 100% within each particular project.
>
> A simple example of this shows how the meat of these questions are
> policy decisions around growing the commercial ecosystem rather than
> technical ones. Cinder has a volume driver layer and quite a number of
> drivers are part of the OpenStack Project and included in the Integrated
> Release.
>
> The intent of "designated sections" seems to be to avoid placing any
> restrictions on vendors of "OpenStack Powered" products around what
> volume driver code they use or ship. The code could be pristine drivers
> from upstream, heavily patched versions of upstream drivers, open-source
> but not upstream drivers, or completely proprietary drivers.
>
> Cinder's scheduler, and various parts of cinder's scheduler, is also
> extremely pluggable. If we said that the scheduler is a "designated
> section" but the scheduler filters are not designated, we're saying that
> proprietary filters should be allowed under the "OpenStack powered"
> trademark license. Under what basis would the TCs or PTLs make that
> judgment call, given that it's a question of what is best for growing
> the commercial ecosystem?
>
>> The question that is raised when we consider going below 100% of a
>> particular project, is do you eventually consider 0%, as long as the
>> APIs are implemented? Let’s say, hypothetically, your product or
>> cloud service exposes the Swift API but uses an alternative back end,
>> say Ceph for example. Is that still “OpenStack”? Let’s face it,
>> that’s the question on a lot of people’s minds. The Defcore committee
>> has approached these questions holistically by starting with
>> documenting criteria for making such weighty decisions.
>
> I think the criteria for deciding which API capabilities are required
> has been well documented and looks to be giving a very reasonable
> outcome. However, the process for deciding "designated sections" looks
> increasingly backwards to me.
>
> In the case of Swift, the conclusion so far seems to be that certain
> Swift APIs could be considered required capabilities, but *only if* the
> TC decides that 0% of Swift's code is designated.
>
> https://etherpad.openstack.org/p/DefCoreLighthouse.F2F
>
> Picking designated sections for Swift > we are in a position to choose
> 0 or 100 without any intermdiate.
>
> DefCore agrees that the TC is the deciding body for designated
> sections.
>
> Official position, DefCore asks TC to resolve Swift D.S. question.
>
> ACTION > Rob to take to TC that if Swift has any designated sections
> then the DefCore committee will likely recommending omitting the
> "object-*" capabilities from core.
>
> i.e. that DefCore sees that it is impossible for the "OpenStack Powered"
> trademark license to require the use of any Swift code, and that if the
> TC thinks any code should be required then DefCore will recommend that
> no APIs are required, effectively resulting in no code being required
> anyway.
>
> The starting assumption that "the TC is the deciding body for designated
> sections" just seems (and has always seemed) wrong to me, particularly
> if it results in the Board removing capabilities from the "required
> capabilities" list because the Board disagrees with the TC's opinion
> that the code for those APIs should be required.
>
> Thanks,
> Mark.
>


_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
On Tue, 2014-07-01 at 11:30 -0500, Mark Collier wrote:
> > On Jun 29, 2014, at 8:34 AM, Mark McLoughlin <markmc@redhat.com> wrote:
> >
> > On Wed, 2014-06-25 at 13:57 -0500, Mark Collier wrote:
> >> Great summary Jonathan.
> >>
> >> TL;DR if you read to the end I mention Ceph!
> >>
> >> Here are the key points which relate to the debate at hand.
> >>
> >> 1) The TM policy itself simply requires companies to get a license
> >> for commercial use, but does not dictate what the contents of those
> >> licenses should be. The requirements inside of those license
> >> agreements can be updated as needed by the Foundation.
> >>
> >> 2) The current product requirements in those agreements are
> >> essentially “include entirety of Nova & Swift from a recent release
> >> and pass some FITs tests approved by the TC when available." This is
> >> outdated and insufficient given how fast the project has expanded, but
> >> it is the status quo. Any improvement on this status quo is progress
> >> in my book, fwiw.
> >
> > Yep, agree.
> >
> >> 3) The real question is: what should those technical requirements be
> >> to call your product “OpenStack” (i.e. to get a license)?
> >
> > We should be careful of our language around this - nobody gets to call
> > their product "OpenStack". This is about the technical requirements for
> > products to use the "OpenStack Powered" logo, call their product "Acme
> > Cloud Software Powered by OpenStack" or similar, or (I assume this bit -
> > see my question to Jonathan) call their product "Acme OpenStack”.
>
>
> Great point, no product can be called simply “OpenStack”. OpenStack
> (that which we produce every 6 months as a community) is, in fact,
> “OpenStack”. :) What is possible, with a signed license, is to use
> the word “OpenStack” as _part of_ your product name, when meeting all
> of the requirements, in a particular manner.
>
> To directly address the word mark usage examples in product names,
> Jonathan did give one example (ACME Cloud Powered by OpenStack).
> However, in the case of Distributions, we have been granting the right
> to use it in combination with the company’s brand such as “Piston
> OpenStack” or “Red Hat OpenStack” or “Mirantis OpenStack”. Each of
> those examples are of products from companies who’ve signed a TM
> license with the foundation.

I liked Jonathan's further clarifications at yesterday's TC meetings:

http://eavesdrop.openstack.org/meetings/tc/2014/tc.2014-07-01-20.02.log.html#l-193

20:25:56 <jbryce> the license agreement in question is called
OpenStack Powered and is intended for use with products and services
that are built using OpenStack software. for instance a public cloud
“FooTron Compute Powered By OpenStack”, an appliance “FooTron
Appliance Powered by OpenStack, a distribution “FooTron OpenStack”
20:26:38 <jbryce> all of those difference products would be held to
the same standard. in other words, they would all be required to
expose the same capabilities (testable over the APIs) and include
the same actual community-developed software bits (designated
sections)

That's super clear. Currently, both the use of "FooTron Cloud Powered by
OpenStack" and "FooTron OpenStack" would have the same technical
requirements around API compatibility and community-developed software
bits.

What might be good for the board to consider is having different
requirements for these two types of trademark usages.

How about if the trademark programs were structured like this:

FooTron OpenStack - passes API tests, includes all code from the
integrated release

FooTron Cloud Powered by OpenStack - passes API tests, includes a
subset of the integrated release called 'designated sections'

FooTron Cloud, OpenStack API Compatible - passes API tests, may not
include any code from the integrated release

i.e. why shouldn't we have a trademark program that applies only to
those commercial products which includes the entire integrated release?

Mark.


_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
I am infinitely reminded of Open Group's standardized UNIX certification.
Also how much of a failure it was. =/


On Wed, Jul 2, 2014 at 5:23 AM, Mark McLoughlin <markmc@redhat.com> wrote:

> On Tue, 2014-07-01 at 11:30 -0500, Mark Collier wrote:
> > > On Jun 29, 2014, at 8:34 AM, Mark McLoughlin <markmc@redhat.com>
> wrote:
> > >
> > > On Wed, 2014-06-25 at 13:57 -0500, Mark Collier wrote:
> > >> Great summary Jonathan.
> > >>
> > >> TL;DR if you read to the end I mention Ceph!
> > >>
> > >> Here are the key points which relate to the debate at hand.
> > >>
> > >> 1) The TM policy itself simply requires companies to get a license
> > >> for commercial use, but does not dictate what the contents of those
> > >> licenses should be. The requirements inside of those license
> > >> agreements can be updated as needed by the Foundation.
> > >>
> > >> 2) The current product requirements in those agreements are
> > >> essentially “include entirety of Nova & Swift from a recent release
> > >> and pass some FITs tests approved by the TC when available." This is
> > >> outdated and insufficient given how fast the project has expanded, but
> > >> it is the status quo. Any improvement on this status quo is progress
> > >> in my book, fwiw.
> > >
> > > Yep, agree.
> > >
> > >> 3) The real question is: what should those technical requirements be
> > >> to call your product “OpenStack” (i.e. to get a license)?
> > >
> > > We should be careful of our language around this - nobody gets to call
> > > their product "OpenStack". This is about the technical requirements for
> > > products to use the "OpenStack Powered" logo, call their product "Acme
> > > Cloud Software Powered by OpenStack" or similar, or (I assume this bit
> -
> > > see my question to Jonathan) call their product "Acme OpenStack”.
> >
> >
> > Great point, no product can be called simply “OpenStack”. OpenStack
> > (that which we produce every 6 months as a community) is, in fact,
> > “OpenStack”. :) What is possible, with a signed license, is to use
> > the word “OpenStack” as _part of_ your product name, when meeting all
> > of the requirements, in a particular manner.
> >
> > To directly address the word mark usage examples in product names,
> > Jonathan did give one example (ACME Cloud Powered by OpenStack).
> > However, in the case of Distributions, we have been granting the right
> > to use it in combination with the company’s brand such as “Piston
> > OpenStack” or “Red Hat OpenStack” or “Mirantis OpenStack”. Each of
> > those examples are of products from companies who’ve signed a TM
> > license with the foundation.
>
> I liked Jonathan's further clarifications at yesterday's TC meetings:
>
>
> http://eavesdrop.openstack.org/meetings/tc/2014/tc.2014-07-01-20.02.log.html#l-193
>
> 20:25:56 <jbryce> the license agreement in question is called
> OpenStack Powered and is intended for use with products and services
> that are built using OpenStack software. for instance a public cloud
> “FooTron Compute Powered By OpenStack”, an appliance “FooTron
> Appliance Powered by OpenStack, a distribution “FooTron OpenStack”
> 20:26:38 <jbryce> all of those difference products would be held to
> the same standard. in other words, they would all be required to
> expose the same capabilities (testable over the APIs) and include
> the same actual community-developed software bits (designated
> sections)
>
> That's super clear. Currently, both the use of "FooTron Cloud Powered by
> OpenStack" and "FooTron OpenStack" would have the same technical
> requirements around API compatibility and community-developed software
> bits.
>
> What might be good for the board to consider is having different
> requirements for these two types of trademark usages.
>
> How about if the trademark programs were structured like this:
>
> FooTron OpenStack - passes API tests, includes all code from the
> integrated release
>
> FooTron Cloud Powered by OpenStack - passes API tests, includes a
> subset of the integrated release called 'designated sections'
>
> FooTron Cloud, OpenStack API Compatible - passes API tests, may not
> include any code from the integrated release
>
> i.e. why shouldn't we have a trademark program that applies only to
> those commercial products which includes the entire integrated release?
>
> Mark.
>
>
> _______________________________________________
> Foundation mailing list
> Foundation@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation
>
Re: [OpenStack-DefCore] Understanding DefCore [ In reply to ]
On 07/03/2014 06:59 AM, matt wrote:
> I am infinitely reminded of Open Group's standardized UNIX
> certification. Also how much of a failure it was. =/

I'm not familiar with that story and learning from past errors may help
us avoid them. Would you mind sharing your thoughts on why Open Group's
efforts failed (or point to other's written opinions)?

thanks,
stef

--
Ask and answer questions on https://ask.openstack.org

_______________________________________________
Foundation mailing list
Foundation@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/foundation