Skip to content

CDF TOC Principles statement #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Apr 23, 2019
Merged

CDF TOC Principles statement #2

merged 11 commits into from
Apr 23, 2019

Conversation

kohsuke
Copy link
Contributor

@kohsuke kohsuke commented Mar 29, 2019

Based on the original google doc version with some changes.

To see the edits since the Google Doc version, see the diff past the initial commit.

It seems to me that a round of feedbacks have come and quieted down, and if that continues, we can vote and approve this in the next TOC meeting.

kohsuke added 3 commits March 29, 2019 15:34
My comment to the original doc seems to have earned some support, so I'm
adding it here.

Signed-off-by: Kohsuke Kawaguchi <[email protected]>
Signed-off-by: Kohsuke Kawaguchi <[email protected]>
@LinuxSuRen
Copy link
Member

LinuxSuRen commented Mar 30, 2019

Adding a refer this document in the file README.md might be helpful.

@michaelneale
Copy link

I like it!

Copy link

@stmcginnis stmcginnis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a great start to me.

@aglover
Copy link

aglover commented Apr 1, 2019

LGTM, thanks for putting this together @kohsuke!

Copy link

@rtyler rtyler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looking good to me, thanks @kohsuke

PRINCIPLES.md Outdated
## Technical Vision of CD
Security, reliability, velocity: Pick Three! The TOC “believes in the power of Continuous Delivery to empower developers and teams and to produce high quality software more rapidly,” because the continuous delivery practice should result in strict improvements across all three dimensions for developers. They should not have to choose between moving fast and not breaking things.

**Security**: Software has eaten the world. Vulnerabilities everywhere can have outsized impact on end users. Delivery is one of the first and most important places to inject and enforce best practices around security. We need to respect this opportunity and drive the industry forward to provide better, more secure software for everyone.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Security: Software has eaten the world.

This assertion seems a awkward and out of place here. The overall point, that software is increasingly involved in our day to day lives, would be better made in the preamble of this section as I think all three dimensions could/should speak to that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've moved that one sound bite up and padded some text in the hope that it'll flow better.

**Overall ecosystem fit**: CD is a broad space and no "one tool" can solve everything for everyone. Projects should fit into the broader ecosystem - whether through plugin-style extensibility, explicit interface exposure/usage, or something else.

## Communities That Produce Such Software
In order to “foster and sustain the ecosystem of open-source, vendor neutral projects through collaborations and interoperability,” the TOC values these characteristics in the communities that produce the projects, and we seek communities that share these values:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest one other criteria, but I'm not entirely sure how to word it. Of course this is just my opinion so the TOC should feel welcome to ignore it 😸 )

"Heterogeneous" perhaps? I hesitate to use "diversity" as the common understanding of what that means in teh tech industry isn't quite what I am suggesting.

Basically the communities which should/would succeed and thrive in the CD space, and CDF at large, would be those who are comprised of various skillsets of people, from different specialties in the software delivery process.

For example, a community is greatly improved by the presence of Systems Administrators/Operators, Developers, Designers, Test Automation folks, writers, and advocates. Compared to a community which is largely/entirely just sysadmins, or developers.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I get where you are going. It's the idea that more inputs make things better. the closest in the existing text is "listen to other projects and people with different thoughts," so I'll expand that part a little bit further.

## Greater Whole
The whole should be greater than the sum of all parts. A successful CDF should provide be a single place to look for best practices, guidance and documentation as well as tooling and projects. Customers looking to improve their delivery practices should have to look no further than the resources provided by the CDF, regardless of their software stack, platform or industry.

**Benefits**: The CDF should not be a "grab-bag" of projects, and projects do not need to be hosted in the CDF to interoperate with projects that are in the CDF. Projects in the CDF should either provide a unique benefit to the CDF or uniquely benefit from being in it.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

kohsuke added 2 commits April 2, 2019 09:41
As per suggestion from cdfoundation#2 (comment)

Signed-off-by: Kohsuke Kawaguchi <[email protected]>
... the best I can.

Signed-off-by: Kohsuke Kawaguchi <[email protected]>
@kohsuke
Copy link
Contributor Author

kohsuke commented Apr 2, 2019

I've incorporated the feedback from @rtyler and @LinuxSuRen

@dlorenc
Copy link
Contributor

dlorenc commented Apr 3, 2019

Looks great to me!

PRINCIPLES.md Outdated
## Greater Whole
The whole should be greater than the sum of all parts. A successful CDF should provide be a single place to look for best practices, guidance and documentation as well as tooling and projects. Customers looking to improve their delivery practices should have to look no further than the resources provided by the CDF, regardless of their software stack, platform or industry.

**Benefits**: The CDF should not be a "grab-bag" of projects, and projects do not need to be hosted in the CDF to interoperate with projects that are in the CDF. Projects in the CDF should either provide a unique benefit to the CDF or uniquely benefit from being in it.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I missed the first TOC meeting, so apologies if I'm missing some context. Will the project acceptance process be a separate document? From the Google doc, it looked like it was a separate section in the Principles document so I wasn't sure.

Regardless, would it make sense to make some reference to it in this document? For example, there could be a sentence at the end of Benefits that says, "new project proposals to CDF will be evaluated according to criteria outlined in (insert link here for Project Proposal Process doc/section)"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it's a separate document being worked on in #3.
When it gets merged we'll add a reference.

Copy link
Member

@fdegir fdegir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for kicking this off. I put some comments inline and also a more general/cosmetic comment here. There are some inconsistencies between how CD is talked about throughout the document.

  • Continuous Delivery
  • Continuous delivery
  • CD
  • continuous delivery

It might be better to stick to one.

PRINCIPLES.md Outdated
# CDF TOC Principles

## What We're Looking For
We are looking for high-quality projects that improve the general practice of "continuous delivery" for all software development. We want to drive the modernization of continuous delivery, but make this available to everyone.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be beneficial to mention CI as well since some communities have been successfully establishing new CI/CD practices. Apart from that, some organizations might be at the start of their CI/CD journey and explicitly stating the fact that continuous delivery itself might not solve all their challenges alone could be useful for them to set their strategy.

Something like

"We are looking for high-quality projects that improve the general practice of "continuous delivery" that is built by leveraging "continuous integration" principles and best practices for all software development.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea that I internalized from your feedback is that it's worthwhile for some audience to call out that 'CD' that we refer here encompasses a lot. I've modified the text accordingly.

1. believes in the power of Continuous Delivery to empower developers and teams and to produce high quality software more rapidly;
believes in the open source solutions collectively addressing the whole software delivery lifecycle;
1. fosters and sustains the ecosystem of open-source, vendor neutral projects through collaborations and interoperability; and
1. advocates this idea and encourages collaborations among practitioners to share and improve their practices.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not establishing new practices as a goal as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This text is a verbatim copy of the CDF mission, so I won't modify it here.

I think "improve their practices" includes what I think you are referring to. As people's practices improve, some will be inevitably pushing the state of the art forward.

PRINCIPLES.md Outdated

**Security**: Vulnerabilities everywhere can have outsized impact on end users. Delivery is one of the first and most important places to inject and enforce best practices around security. We need to respect this opportunity and drive the industry forward to provide better, more secure software for everyone.

**Velocity**: Continuous delivery practices have been known to improve the velocity of software development for a long time. Helping users adopt these practices, and helping projects further increase velocity will help the industry deliver more value to users faster.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

more value and perhaps new services to end users.

i am not a business person but highlighting that one of the things CD helps achieving is the ability to bring new services to end users much faster than before. this could help realize the importance of CD to decision makers.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think "more value" does cover new services/products/apps. To me it's intentional that we talk broadly about all kind of software here, not just webapps.

PRINCIPLES.md Outdated
## Software That Enables Such CD
To help “practitioners to share and improve their practices,” the TOC upholds these values, and we seek projects that share them:

**Pragmatic**: The most important attribute of a project is how useful it is to actual customers. Purity in design and implementation comes second to solving real-world problems for real users.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why just customers? wouldn't it make sense to be inclusive and state that the projects that helps others such as individual developers, open source communities, and the customers, striving to make things even better for everyone?

or the "customer" reference here implicitly include the communities and individual developers as well?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @fdegir makes a good point. We already have the word "users" in the sentence so maybe replace the word customers with users?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can see how "customer' might make some people think about $$$. I changed as per the suggestion.

PRINCIPLES.md Outdated
**Fairness**: A community that seeks to avoid undue influence, bad behaviours, and/or “pay-to-play” decision-making.

## Greater Whole
The whole should be greater than the sum of all parts. A successful CDF should provide be a single place to look for best practices, guidance and documentation as well as tooling and projects. Customers looking to improve their delivery practices should have to look no further than the resources provided by the CDF, regardless of their software stack, platform or industry.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really think avoiding words like "customers" would help make CDF a true community and not an entity that sees others as only customers.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Point taken.

The document already uses 'end users' to refer to the users of the applications, and 'practitioners' to refer to people who develop those apps, so I consolidated to those two words.

kohsuke added 3 commits April 9, 2019 17:27
The idea that I internalized is that it's worthwhile for some audience
to call out that 'CD' that we refer here encompasses a lot.

See: cdfoundation#2 (comment)
Signed-off-by: Kohsuke Kawaguchi <[email protected]>
@fdegir and @rpaik wrote that "customers" evoke $$$ to some people. The
document already uses 'end users' to refer to the users of the
applications, and 'practitioners' to refer to people who develop those
apps, so I consolidated to those two words.
@caniszczyk
Copy link
Contributor

everyone happy with this version, enough for us to formally vote on this?

Copied from [the charter document](https://github.com/cdfoundation/charter/blob/master/CHARTER.md) as the starting point:

1. believes in the power of Continuous Delivery to empower developers and teams and to produce high quality software more rapidly;
believes in the open source solutions collectively addressing the whole software delivery lifecycle;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[minor] "believes in open source" (i.e. no "the")?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I trust that your edit is correct, but this text was copied verbatim from the GB charter document, so I don't think I should edit it just here. I will open a PR in the upstream to be applied next time the charter gets edited.

@caniszczyk
Copy link
Contributor

I kicked a vote off here: https://lists.cd.foundation/g/cdf-toc/message/39

@kohsuke
Copy link
Contributor Author

kohsuke commented Apr 23, 2019

Oops, you beat me to it!

@dlorenc
Copy link
Contributor

dlorenc commented Apr 23, 2019

Looks like the vote is complete. Should we merge?

@kohsuke kohsuke merged commit ce81926 into cdfoundation:master Apr 23, 2019
@caniszczyk
Copy link
Contributor

caniszczyk commented Apr 29, 2019

tequilarista added a commit that referenced this pull request Nov 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.