AJ ONeal
5 anni fa
10 ha cambiato i file con 5232 aggiunte e 4162 eliminazioni
@ -0,0 +1,4 @@ |
|||
{ |
|||
"trailingComma": "none", |
|||
"useTabs": true |
|||
} |
File diff soppresso perché troppo grande
File diff soppresso perché troppo grande
@ -1,99 +1,171 @@ |
|||
<html> |
|||
<head> |
|||
<title>Greenlock™</title> |
|||
<meta property="og:image" content="https://greenlock.domains/img/greenlock-mark-400x400.png" /> |
|||
<link href="styles/main.css" rel="stylesheet"> |
|||
<style> |
|||
@font-face { |
|||
font-family: 'Source Sans Pro'; |
|||
font-style: normal; |
|||
font-display: block; |
|||
font-weight: 400; |
|||
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(./fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2) format('woff2'); |
|||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; |
|||
} |
|||
@font-face { |
|||
font-family: 'Source Sans Pro'; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
font-display: block; |
|||
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(./fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2) format('woff2'); |
|||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; |
|||
} |
|||
</style> |
|||
<link rel="preload" href="./app/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2" as="font" crossorigin="anonymous"> |
|||
<link rel="preload" href="./app/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2" as="font" crossorigin="anonymous"> |
|||
<link rel="prefetch" href="./app/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2" as="font" crossorigin="anonymous"> |
|||
<link rel="prefetch" href="./app/js/bluecrypt-acme.js" as="script"> |
|||
<link rel="prefetch" href="./app/js/greenlock.js" as="script"> |
|||
<link rel="prefetch" href="./js/app.js" as="script"> |
|||
</head> |
|||
<body class="js-app-ready"> |
|||
<script> |
|||
document.querySelector('body').classList.remove("js-app-ready"); |
|||
</script> |
|||
<div class="column-container wide"> |
|||
<head> |
|||
<title>Greenlock™</title> |
|||
<meta |
|||
property="og:image" |
|||
content="https://greenlock.domains/img/greenlock-mark-400x400.png" |
|||
/> |
|||
<link href="styles/main.css" rel="stylesheet" /> |
|||
<style> |
|||
@font-face { |
|||
font-family: "Source Sans Pro"; |
|||
font-style: normal; |
|||
font-display: block; |
|||
font-weight: 400; |
|||
src: local("Source Sans Pro Regular"), local("SourceSansPro-Regular"), |
|||
url(./fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2) format("woff2"); |
|||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, |
|||
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, |
|||
U+2212, U+2215, U+FEFF, U+FFFD; |
|||
} |
|||
@font-face { |
|||
font-family: "Source Sans Pro"; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
font-display: block; |
|||
src: local("Source Sans Pro Bold"), local("SourceSansPro-Bold"), |
|||
url(./fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2) |
|||
format("woff2"); |
|||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, |
|||
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, |
|||
U+2212, U+2215, U+FEFF, U+FFFD; |
|||
} |
|||
</style> |
|||
<link |
|||
rel="preload" |
|||
href="./app/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2" |
|||
as="font" |
|||
crossorigin="anonymous" |
|||
/> |
|||
<link |
|||
rel="preload" |
|||
href="./app/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2" |
|||
as="font" |
|||
crossorigin="anonymous" |
|||
/> |
|||
<link |
|||
rel="prefetch" |
|||
href="./app/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2" |
|||
as="font" |
|||
crossorigin="anonymous" |
|||
/> |
|||
<link rel="prefetch" href="./app/js/bluecrypt-acme.js" as="script" /> |
|||
<link rel="prefetch" href="./app/js/greenlock.js" as="script" /> |
|||
<link rel="prefetch" href="./js/app.js" as="script" /> |
|||
</head> |
|||
<body class="js-app-ready"> |
|||
<script> |
|||
document.querySelector("body").classList.remove("js-app-ready"); |
|||
</script> |
|||
<div class="column-container wide"> |
|||
<div class="column-row"> |
|||
<img alt="Greenlock logo" src="img/greenlock-146.png" /> |
|||
</div> |
|||
<div class="column-row"> |
|||
<h1>Get the green lock for your website</h1> |
|||
</div> |
|||
<div class="column-row"> |
|||
<div class="js-javascript-warning"> |
|||
Greenlock will process the CSR in the browser and request the |
|||
certificates directly from letsencrypt.org. Please enable Javascript |
|||
before continuing. |
|||
</div> |
|||
<form id="js-acme-form" action="./app/" method="GET"> |
|||
<div class="domain-psuedo-input"> |
|||
<span class="secure-green">Secure</span> | |
|||
<span class="secure-green">https:</span>//<input |
|||
aria-label="domains to secure" |
|||
id="acme-domains" |
|||
type="text" |
|||
name="acme-domains" |
|||
placeholder="Your domain name" |
|||
required |
|||
/> |
|||
</div> |
|||
<button type="submit">Go</button> |
|||
<div class="domain-subtext"> |
|||
Domain, subdomain, or wildcard domain |
|||
</div> |
|||
|
|||
<div class="column-row"> |
|||
<img src="img/greenlock-146.png"> |
|||
</div> |
|||
<div class="column-row"> |
|||
<h1>Get the green lock for your website</h1> |
|||
</div> |
|||
<div class="column-row"> |
|||
<div class="js-javascript-warning"> |
|||
Greenlock will process the CSR in the browser and request the certificates directly from letsencrypt.org. |
|||
Please enable Javascript before continuing. |
|||
</div> |
|||
<form id="js-acme-form" action="./app/" method="GET"> |
|||
<div class="domain-psuedo-input"> |
|||
<span class="secure-green">Secure</span> | <span class="secure-green">https:</span>//<input aria-label="domains to secure" id="acme-domains" type="text" name="acme-domains" placeholder="Your domain name" required> |
|||
</div> |
|||
<button type="submit">Go</button> |
|||
<div class="domain-subtext">Domain, subdomain, or wildcard domain</div> |
|||
|
|||
<div class="acme-advanced-fields"> |
|||
<label><input name="acme-api-type" type="radio" value="v02" checked required> |
|||
Production |
|||
</label> |
|||
<label><input name="acme-api-type" type="radio" value="staging-v02" required> |
|||
Testing</label> |
|||
<input id="js-acme-api-url" type="url" placeholder="ACME directory url"> |
|||
<br> |
|||
API Compatibility: Let's Encrypt v2 / ACME draft 15 |
|||
<div> |
|||
<br> |
|||
A <a href="https://rootprojects.org/" target="_blank">Root</a> Project |
|||
| <a href="https://git.coolaj86.com/coolaj86/greenlock.html" target="_blank">View Source</a> (git) |
|||
| <a href="https://rootprojects.org/legal/#terms" target="_blank">Terms of Service</a> |
|||
| <a href="https://rootprojects.org/legal/#privacy" target="_blank">Privacy Policy</a> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="column-row"> |
|||
<div class="why-you-need"> |
|||
<h2>Why you need HTTPS</h2> |
|||
SSL Certificates are required for secure login, accepting payments, and for browsers like Google Chrome to stop showing security warnings to your users. |
|||
</div> |
|||
</div> |
|||
<!-- or |
|||
<div class="acme-advanced-fields"> |
|||
<label |
|||
><input |
|||
name="acme-api-type" |
|||
type="radio" |
|||
value="v02" |
|||
checked |
|||
required |
|||
/> |
|||
Production |
|||
</label> |
|||
<label |
|||
><input |
|||
name="acme-api-type" |
|||
type="radio" |
|||
value="staging-v02" |
|||
required |
|||
/> |
|||
Testing</label |
|||
> |
|||
<input |
|||
id="js-acme-api-url" |
|||
type="url" |
|||
placeholder="ACME directory url" |
|||
/> |
|||
<br /> |
|||
API Compatibility: Let's Encrypt v2 / ACME draft 15 |
|||
<div> |
|||
<br /> |
|||
A |
|||
<a href="https://rootprojects.org/" target="_blank">Root</a> |
|||
Project | |
|||
<a |
|||
href="https://git.coolaj86.com/coolaj86/greenlock.html" |
|||
target="_blank" |
|||
>View Source</a |
|||
> |
|||
(git) | |
|||
<a href="https://rootprojects.org/legal/#terms" target="_blank" |
|||
>Terms of Service</a |
|||
> |
|||
| |
|||
<a href="https://rootprojects.org/legal/#privacy" target="_blank" |
|||
>Privacy Policy</a |
|||
> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="column-row"> |
|||
<div class="why-you-need"> |
|||
<h2>Why you need HTTPS</h2> |
|||
SSL Certificates are required for secure login, accepting payments, |
|||
and for browsers like Google Chrome to stop showing security warnings |
|||
to your users. |
|||
</div> |
|||
</div> |
|||
<!-- or |
|||
<pre><code>git clone https://git.coolaj86.com/coolaj86/greenlock.html.git</code></pre> |
|||
Or view the live site code (same as live-site branch): |
|||
<pre><code>wget https://greenlock.domains --mirror --convert-links --adjust-extension --page-requisites --no-parent</code></pre> |
|||
--> |
|||
|
|||
<script src="./js/app.js"></script> |
|||
<script src="./js/app.js"></script> |
|||
|
|||
<!-- Global site tag (gtag.js) - Google Analytics --> |
|||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-118745161-2"></script> |
|||
<script> |
|||
window.dataLayer = window.dataLayer || []; |
|||
function gtag(){dataLayer.push(arguments);} |
|||
gtag('js', new Date()); |
|||
<!-- Global site tag (gtag.js) - Google Analytics --> |
|||
<script |
|||
async |
|||
src="https://www.googletagmanager.com/gtag/js?id=UA-118745161-2" |
|||
></script> |
|||
<script> |
|||
window.dataLayer = window.dataLayer || []; |
|||
function gtag() { |
|||
dataLayer.push(arguments); |
|||
} |
|||
gtag("js", new Date()); |
|||
|
|||
gtag('config', 'UA-118745161-2'); |
|||
</script> |
|||
</div> |
|||
</body> |
|||
gtag("config", "UA-118745161-2"); |
|||
</script> |
|||
</div> |
|||
</body> |
|||
</html> |
|||
|
@ -1,32 +1,39 @@ |
|||
(function () { |
|||
'use strict'; |
|||
|
|||
var $qs = function (s) { return window.document.querySelector(s); }; |
|||
|
|||
$qs('.js-javascript-warning').hidden = true; |
|||
|
|||
var apiUrl = 'https://acme-{{env}}.api.letsencrypt.org/directory'; |
|||
|
|||
function updateApiType() { |
|||
var formData = new FormData($qs("#js-acme-form")); |
|||
|
|||
console.log('ACME api type radio:'); |
|||
|
|||
var value = formData.get("acme-api-type"); |
|||
$qs('#js-acme-api-url').value = apiUrl.replace(/{{env}}/g, value); |
|||
} |
|||
|
|||
$qs('#js-acme-form').addEventListener('change', updateApiType); |
|||
//$qs('#js-acme-form').addEventListener('submit', prettyRedirect);
|
|||
|
|||
updateApiType(); |
|||
try { |
|||
document.fonts.load().then(function() { |
|||
$qs('body').classList.add("js-app-ready"); |
|||
}).catch(function(e) { |
|||
$qs('body').classList.add("js-app-ready"); |
|||
}); |
|||
} catch(e) { |
|||
setTimeout(function() {$qs('body').classList.add("js-app-ready");}, 200); |
|||
} |
|||
}()); |
|||
(function() { |
|||
"use strict"; |
|||
|
|||
var $qs = function(s) { |
|||
return window.document.querySelector(s); |
|||
}; |
|||
|
|||
$qs(".js-javascript-warning").hidden = true; |
|||
|
|||
var apiUrl = "https://acme-{{env}}.api.letsencrypt.org/directory"; |
|||
|
|||
function updateApiType() { |
|||
var formData = new FormData($qs("#js-acme-form")); |
|||
|
|||
console.log("ACME api type radio:"); |
|||
|
|||
var value = formData.get("acme-api-type"); |
|||
$qs("#js-acme-api-url").value = apiUrl.replace(/{{env}}/g, value); |
|||
} |
|||
|
|||
$qs("#js-acme-form").addEventListener("change", updateApiType); |
|||
//$qs('#js-acme-form').addEventListener('submit', prettyRedirect);
|
|||
|
|||
updateApiType(); |
|||
try { |
|||
document.fonts |
|||
.load() |
|||
.then(function() { |
|||
$qs("body").classList.add("js-app-ready"); |
|||
}) |
|||
.catch(function(e) { |
|||
$qs("body").classList.add("js-app-ready"); |
|||
}); |
|||
} catch (e) { |
|||
setTimeout(function() { |
|||
$qs("body").classList.add("js-app-ready"); |
|||
}, 200); |
|||
} |
|||
})(); |
|||
|
@ -1,201 +1,315 @@ |
|||
<h1>Greetings!</h1> |
|||
|
|||
<p>I, AJ ONeal, am not a big fan of legalize, but I am a fan of communicating |
|||
clearly. I hope that this accomplish both defining some legal boundaries as well |
|||
as communicating in a friendly and clear way, at least to the degree that suits |
|||
our needs for the current stage of our products and services. |
|||
|
|||
<p>This is important because it is our intent to create sustainable open source |
|||
projects, which means that we do want to create brand value, grow community, |
|||
and, eventually, be able to work full time on creating more great software and services. |
|||
|
|||
<p>If you'd like to contact me, especially if you feel that I (or we) have made |
|||
a mistake in how we operate, please do so: |
|||
|
|||
<ul> |
|||
<li><a href="mailto:coolaj86@gmail.com">coolaj86@gmail.com</a></li> |
|||
<li><a href="tel:+13852360466">+1 (385) 236-0466</a></li> |
|||
<li><a href="http://coolaj86.com">https://coolaj86.com</a></li> |
|||
</ul> |
|||
|
|||
<h1>Contents</h1> |
|||
<p>Here's what I've worked through so far: |
|||
|
|||
<ul> |
|||
<li><a href="#greenlock">Greelock Domains</a></li> |
|||
<li><a href="#licensing">Licensing</a></li> |
|||
<li><a href="#terms">Terms of Service</a></li> |
|||
<li><a href="#trademark">Trademark</a></li> |
|||
<li><a href="#privacy">Privacy</a></li> |
|||
</ul> |
|||
|
|||
<h1 id="greenlock">Greenlock Domains™</h1> |
|||
|
|||
<p>Greenlock Domains is a service provided by |
|||
<em><a href="https://coolaj86.com">AJ</a>, Brian, |
|||
<a href="https://jshaver.net">John</a>, & Josh</em> |
|||
(collectively <a href="https://therootcompany.com">Root</a>) |
|||
for automated TLS, SSL, and HTTPS. |
|||
|
|||
<ul> |
|||
<li><a href="https://greenlock.domains" target="_blank"> |
|||
https://greenlock.domains</a></li> |
|||
|
|||
<li><a href="https://git.coolaj86.com/coolaj86/greenlock-express.js" target="_blank"> |
|||
https://git.coolaj86.com/coolaj86/greenlock-express.js</a></li> |
|||
|
|||
<li><a href="https://git.coolaj86.com/coolaj86/greenlock.js" target="_blank"> |
|||
https://git.coolaj86.com/coolaj86/greenlock.js</a></li> |
|||
|
|||
<li><a href="https://git.coolaj86.com/coolaj86/greenlock.html" target="_blank"> |
|||
https://git.coolaj86.com/coolaj86/greenlock.html</a></li> |
|||
</ul> |
|||
|
|||
<p>Greenlock Domains is an important product / service combo to us |
|||
because it's a huge milestone on the path to a more decentralized web. |
|||
We believe in <em>ownership</em> and <em>control</em> and we're |
|||
building a <a href="https://therootcompany.com">Home Server</a> |
|||
because we envision a world in which everyone is empowered to make |
|||
the choice of whether to rent or own their stuff. |
|||
|
|||
<p>If we don't do this, well, with the way the cloud is headed, |
|||
renting may be the only option in the future. |
|||
|
|||
<p>We need <em>Root</em> because we want ownership. |
|||
|
|||
<p>If at any time you feel that any of our messaging or practices |
|||
are in conflict with our mission or these values, please let us know. |
|||
|
|||
<h1 id="licensing">Licensing</h1> |
|||
|
|||
<p>Each of our products comes with its own LICENSE file and the license(s) |
|||
may alse be in some sort of manifest file (such as package.json). |
|||
|
|||
<p>We typically use the MIT and Apache-2.0 licenses for libraries that we |
|||
actively want others to copy, modify, use and redistribute. |
|||
|
|||
<p>We typically use ISC and MPL-2.0 with products for which we're a little more |
|||
concerned about branding or about which we have particularly strong opinions. |
|||
|
|||
<p>Although we do keep some of our software proprietary and we do use trademarks, |
|||
because we believe in empowerment and choice we do our best to provide usable |
|||
self-service forms of our products and services for personal use. |
|||
|
|||
<p>If at any time you feel that our Licensing is in conflict with our mission or values, |
|||
please let us know. |
|||
|
|||
<h1 id="terms">Terms of Service</h1> |
|||
|
|||
<p>We want to make the world a better place. |
|||
Everyone has a different definition of what "a better place" means, |
|||
so the purpose of our terms is to rule out some things that |
|||
we think makes the world (and particularly our world) a worse place: |
|||
|
|||
<p>You agree that you will use the Greenlock™ service, code, libraries, |
|||
documentation, etc (provided by <a href="#greenlock">us</a>) |
|||
primarily for securing network connections for yourself, your customers, |
|||
on your and your customer's devices on internets, intranets, and... other nets. |
|||
|
|||
<p>You agree that you will take reasonable measures to keep up-to-date with security |
|||
releases. |
|||
|
|||
<p>You agree to not use our products or services in a way that would cause unusual |
|||
or undue burden on our servers or services, our partners servers or services, or our |
|||
customers servers or services, or in a way that harms or misrepresents the reputation |
|||
or brand value (including causing brand confusion) of the aforementioned parties |
|||
(or really anybody). |
|||
|
|||
<p>This is not to say that you can't publicly have a negative opinion, but don't |
|||
bite the hand that feeds and don't be vicious or misrepresentative. |
|||
|
|||
<p>If you have a use case that may be in violation of these terms (particularly |
|||
the part about undue burden), but you feel contributes to making the world a better |
|||
place, we're here to help (assuming it also aligns with our values). |
|||
Although it may not be appropriate to use our services, but perhaps we can help |
|||
you with a solution based on our no-cost, low-cost or open source products. |
|||
|
|||
<p>If at any time you feel that our Terms of Service are in conflict with our |
|||
mission or values, please let us know. |
|||
|
|||
<h1 id="trademark">Trademark</h1> |
|||
|
|||
<p>"Greenlock" and the "green G lock" mark are Trademarks of |
|||
<a href="https://coolaj86.com" target="_blank">AJ ONeal</a>. |
|||
|
|||
<p>We'll be coming out with a brand guide as to how you should use |
|||
the marks. In the meantime: don't change the proportions, colors |
|||
(excepting the case of greyscale and black and white). |
|||
|
|||
<p>It is appropriate to use the trademark in a way that promotes the |
|||
brand with proper attribution, linking to the official project repositories, etc. |
|||
|
|||
<p>It is appropriate use the name greenlock in a plugin for Greenlock™, |
|||
as long as it is clear that it is a community contribution. |
|||
|
|||
<p>If you create a "hard" fork of our code or any products or services, |
|||
you should give your fork its own name, and not use ours. |
|||
That sound, we gladly welcome your suggestiosn and pull requests. |
|||
|
|||
<p>If you mirror our code you should make it clear that it is a mirror |
|||
and link to the official repository. |
|||
in association with usand the disclose that you use Greenlock |
|||
|
|||
<p>If at any time you feel that our Trademark policies are in conflict with our |
|||
values, please let us know. |
|||
|
|||
<h1 id="privacy">Privacy Policy</h1> |
|||
|
|||
<p>What we collect and (more importantly) <em>Why</em>: |
|||
|
|||
<p><strong>Name</strong>: |
|||
<p>In the cases that we collect your name, it's because we want to know how to address you. |
|||
All four of us want to be personable if and when we reach out. |
|||
|
|||
<p><strong>Email</strong>: |
|||
<p>There are three main purposes for which we may use your email address: |
|||
|
|||
<p>1. A one-time outreach to ask if you were able to do what you intended to do. |
|||
We want to make a great product. Although open source projects traditionally have |
|||
a <em>reactive</em> approach to communication (i.e. you file a bug and wait for a response), |
|||
we believe that creating sustainable open source requires a <em>proactive</em> approach. |
|||
|
|||
<p>2. Security and legal notifications. It's important that we have a way to contact you |
|||
if we've made a mistake or discover a mistake that needs to be addressed. This |
|||
may include vulnerabilities as well as mandatory upgrades (such as when a |
|||
significant change to the Let's Encrypt API is made). Making sure that our products |
|||
work and are secure aligns with our values and contributes to our brand identity. |
|||
|
|||
<p>3. Opt-in updates. Many of you want to know when we have significant feature updates |
|||
or when we have something that we believe is really valuable to share. We've created an |
|||
opt-in avenue for that. And you can always opt-out as well. |
|||
|
|||
<p><strong>Telemetry</strong>: |
|||
<p>We believe that the current open source model needs improvement - it often |
|||
relies heavily on large centralized platforms which aggregate a lot of user |
|||
information for the platform without appropriately targeting the relationship |
|||
between authors and users of projcts (i.e. npm, github, etc). We believe that |
|||
making open source sustainable means a greater focus on empowering authors |
|||
and users. We've learned from other projects (Caddy, Heroku, and others) which |
|||
use telemetry as part of a proactive approach to open source and we believe that |
|||
it can be a great avenue for us to be proactive as well. |
|||
|
|||
<p>We may use telemetry about operating system, browser, node version, code version, |
|||
and other system-level information to better understand how we can serve our users (you) |
|||
and proactively solve problems that we might not otherwise hear about. For example, if |
|||
we see many page visits in a certain browser (or installs with a new version of node), |
|||
but few successful registrations, we know that something is wrong. |
|||
|
|||
<p><strong>Other</strong>: |
|||
<p>We also use Google Analytics on our web sites for basic functionality. |
|||
Other than that, nothing else comes to mind right now. |
|||
As we consider what we will do in the future, it will be measured against our mission and values. |
|||
We never want to come across as spammy or forceful. We want to do things that help us build |
|||
our brand, acknowledge our customers; things that are proactive, and that |
|||
promote sustainable source. |
|||
|
|||
<p>If at any time you feel that our Privacy policy is in conflict with our mission or values, |
|||
please let us know. |
|||
|
|||
<br> |
|||
<br> |
|||
<p>Copyright 2018 AJ ONeal |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<title>Root Legal</title> |
|||
</head> |
|||
<body> |
|||
<h1>Greetings!</h1> |
|||
|
|||
<p> |
|||
I, AJ ONeal, am not a big fan of legalize, but I am a fan of communicating |
|||
clearly. I hope that this accomplish both defining some legal boundaries |
|||
as well as communicating in a friendly and clear way, at least to the |
|||
degree that suits our needs for the current stage of our products and |
|||
services. |
|||
</p> |
|||
|
|||
<p> |
|||
This is important because it is our intent to create sustainable open |
|||
source projects, which means that we do want to create brand value, grow |
|||
community, and, eventually, be able to work full time on creating more |
|||
great software and services. |
|||
</p> |
|||
|
|||
<p> |
|||
If you'd like to contact me, especially if you feel that I (or we) have |
|||
made a mistake in how we operate, please do so: |
|||
</p> |
|||
|
|||
<ul> |
|||
<li><a href="mailto:coolaj86@gmail.com">coolaj86@gmail.com</a></li> |
|||
<li><a href="tel:+13852360466">+1 (385) 236-0466</a></li> |
|||
<li><a href="http://coolaj86.com">https://coolaj86.com</a></li> |
|||
</ul> |
|||
|
|||
<h1>Contents</h1> |
|||
<p>Here's what I've worked through so far:</p> |
|||
|
|||
<ul> |
|||
<li><a href="#greenlock">Greelock Domains</a></li> |
|||
<li><a href="#licensing">Licensing</a></li> |
|||
<li><a href="#terms">Terms of Service</a></li> |
|||
<li><a href="#trademark">Trademark</a></li> |
|||
<li><a href="#privacy">Privacy</a></li> |
|||
</ul> |
|||
|
|||
<h1 id="greenlock">Greenlock Domains™</h1> |
|||
|
|||
<p> |
|||
Greenlock Domains is a service provided by |
|||
<em |
|||
><a href="https://coolaj86.com">AJ</a>, Brian, |
|||
<a href="https://jshaver.net">John</a>, & Josh</em |
|||
> |
|||
(collectively <a href="https://therootcompany.com">Root</a>) for automated |
|||
TLS, SSL, and HTTPS. |
|||
</p> |
|||
|
|||
<ul> |
|||
<li> |
|||
<a href="https://greenlock.domains" target="_blank"> |
|||
https://greenlock.domains</a |
|||
> |
|||
</li> |
|||
|
|||
<li> |
|||
<a |
|||
href="https://git.coolaj86.com/coolaj86/greenlock-express.js" |
|||
target="_blank" |
|||
> |
|||
https://git.coolaj86.com/coolaj86/greenlock-express.js</a |
|||
> |
|||
</li> |
|||
|
|||
<li> |
|||
<a |
|||
href="https://git.coolaj86.com/coolaj86/greenlock.js" |
|||
target="_blank" |
|||
> |
|||
https://git.coolaj86.com/coolaj86/greenlock.js</a |
|||
> |
|||
</li> |
|||
|
|||
<li> |
|||
<a |
|||
href="https://git.coolaj86.com/coolaj86/greenlock.html" |
|||
target="_blank" |
|||
> |
|||
https://git.coolaj86.com/coolaj86/greenlock.html</a |
|||
> |
|||
</li> |
|||
</ul> |
|||
|
|||
<p> |
|||
Greenlock Domains is an important product / service combo to us because |
|||
it's a huge milestone on the path to a more decentralized web. We believe |
|||
in |
|||
<em>ownership</em> and <em>control</em> and we're building a |
|||
<a href="https://therootcompany.com">Home Server</a> because we envision a |
|||
world in which everyone is empowered to make the choice of whether to rent |
|||
or own their stuff. |
|||
</p> |
|||
|
|||
<p> |
|||
If we don't do this, well, with the way the cloud is headed, renting may |
|||
be the only option in the future. |
|||
</p> |
|||
|
|||
<p>We need <em>Root</em> because we want ownership.</p> |
|||
|
|||
<p> |
|||
If at any time you feel that any of our messaging or practices are in |
|||
conflict with our mission or these values, please let us know. |
|||
</p> |
|||
|
|||
<h1 id="licensing">Licensing</h1> |
|||
|
|||
<p> |
|||
Each of our products comes with its own LICENSE file and the license(s) |
|||
may alse be in some sort of manifest file (such as package.json). |
|||
</p> |
|||
|
|||
<p> |
|||
We typically use the MIT and Apache-2.0 licenses for libraries that we |
|||
actively want others to copy, modify, use and redistribute. |
|||
</p> |
|||
|
|||
<p> |
|||
We typically use ISC and MPL-2.0 with products for which we're a little |
|||
more concerned about branding or about which we have particularly strong |
|||
opinions. |
|||
</p> |
|||
|
|||
<p> |
|||
Although we do keep some of our software proprietary and we do use |
|||
trademarks, because we believe in empowerment and choice we do our best to |
|||
provide usable self-service forms of our products and services for |
|||
personal use. |
|||
</p> |
|||
|
|||
<p> |
|||
If at any time you feel that our Licensing is in conflict with our mission |
|||
or values, please let us know. |
|||
</p> |
|||
|
|||
<h1 id="terms">Terms of Service</h1> |
|||
|
|||
<p> |
|||
We want to make the world a better place. Everyone has a different |
|||
definition of what "a better place" means, so the purpose of our terms is |
|||
to rule out some things that we think makes the world (and particularly |
|||
our world) a worse place: |
|||
</p> |
|||
|
|||
<p> |
|||
You agree that you will use the Greenlock™ service, code, libraries, |
|||
documentation, etc (provided by <a href="#greenlock">us</a>) primarily for |
|||
securing network connections for yourself, your customers, on your and |
|||
your customer's devices on internets, intranets, and... other nets. |
|||
</p> |
|||
|
|||
<p> |
|||
You agree that you will take reasonable measures to keep up-to-date with |
|||
security releases. |
|||
</p> |
|||
|
|||
<p> |
|||
You agree to not use our products or services in a way that would cause |
|||
unusual or undue burden on our servers or services, our partners servers |
|||
or services, or our customers servers or services, or in a way that harms |
|||
or misrepresents the reputation or brand value (including causing brand |
|||
confusion) of the aforementioned parties (or really anybody). |
|||
</p> |
|||
|
|||
<p> |
|||
This is not to say that you can't publicly have a negative opinion, but |
|||
don't bite the hand that feeds and don't be vicious or misrepresentative. |
|||
</p> |
|||
|
|||
<p> |
|||
If you have a use case that may be in violation of these terms |
|||
(particularly the part about undue burden), but you feel contributes to |
|||
making the world a better place, we're here to help (assuming it also |
|||
aligns with our values). Although it may not be appropriate to use our |
|||
services, but perhaps we can help you with a solution based on our |
|||
no-cost, low-cost or open source products. |
|||
</p> |
|||
|
|||
<p> |
|||
If at any time you feel that our Terms of Service are in conflict with our |
|||
mission or values, please let us know. |
|||
</p> |
|||
|
|||
<h1 id="trademark">Trademark</h1> |
|||
|
|||
<p> |
|||
"Greenlock" and the "green G lock" mark are Trademarks of |
|||
<a href="https://coolaj86.com" target="_blank">AJ ONeal</a>. |
|||
</p> |
|||
|
|||
<p> |
|||
We'll be coming out with a brand guide as to how you should use the marks. |
|||
In the meantime: don't change the proportions, colors (excepting the case |
|||
of greyscale and black and white). |
|||
</p> |
|||
|
|||
<p> |
|||
It is appropriate to use the trademark in a way that promotes the brand |
|||
with proper attribution, linking to the official project repositories, |
|||
etc. |
|||
</p> |
|||
|
|||
<p> |
|||
It is appropriate use the name greenlock in a plugin for Greenlock™, |
|||
as long as it is clear that it is a community contribution. |
|||
</p> |
|||
|
|||
<p> |
|||
If you create a "hard" fork of our code or any products or services, you |
|||
should give your fork its own name, and not use ours. That sound, we |
|||
gladly welcome your suggestiosn and pull requests. |
|||
</p> |
|||
|
|||
<p> |
|||
If you mirror our code you should make it clear that it is a mirror and |
|||
link to the official repository. in association with usand the disclose |
|||
that you use Greenlock |
|||
</p> |
|||
|
|||
<p> |
|||
If at any time you feel that our Trademark policies are in conflict with |
|||
our values, please let us know. |
|||
</p> |
|||
|
|||
<h1 id="privacy">Privacy Policy</h1> |
|||
|
|||
<p>What we collect and (more importantly) <em>Why</em>:</p> |
|||
|
|||
<p><strong>Name</strong>:</p> |
|||
<p> |
|||
In the cases that we collect your name, it's because we want to know how |
|||
to address you. All four of us want to be personable if and when we reach |
|||
out. |
|||
</p> |
|||
|
|||
<p><strong>Email</strong>:</p> |
|||
<p> |
|||
There are three main purposes for which we may use your email address: |
|||
</p> |
|||
|
|||
<p> |
|||
1. A one-time outreach to ask if you were able to do what you intended to |
|||
do. We want to make a great product. Although open source projects |
|||
traditionally have a <em>reactive</em> approach to communication (i.e. you |
|||
file a bug and wait for a response), we believe that creating sustainable |
|||
open source requires a <em>proactive</em> approach. |
|||
</p> |
|||
|
|||
<p> |
|||
2. Security and legal notifications. It's important that we have a way to |
|||
contact you if we've made a mistake or discover a mistake that needs to be |
|||
addressed. This may include vulnerabilities as well as mandatory upgrades |
|||
(such as when a significant change to the Let's Encrypt API is made). |
|||
Making sure that our products work and are secure aligns with our values |
|||
and contributes to our brand identity. |
|||
</p> |
|||
|
|||
<p> |
|||
3. Opt-in updates. Many of you want to know when we have significant |
|||
feature updates or when we have something that we believe is really |
|||
valuable to share. We've created an opt-in avenue for that. And you can |
|||
always opt-out as well. |
|||
</p> |
|||
|
|||
<p><strong>Telemetry</strong>:</p> |
|||
<p> |
|||
We believe that the current open source model needs improvement - it often |
|||
relies heavily on large centralized platforms which aggregate a lot of |
|||
user information for the platform without appropriately targeting the |
|||
relationship between authors and users of projcts (i.e. npm, github, etc). |
|||
We believe that making open source sustainable means a greater focus on |
|||
empowering authors and users. We've learned from other projects (Caddy, |
|||
Heroku, and others) which use telemetry as part of a proactive approach to |
|||
open source and we believe that it can be a great avenue for us to be |
|||
proactive as well. |
|||
</p> |
|||
|
|||
<p> |
|||
We may use telemetry about operating system, browser, node version, code |
|||
version, and other system-level information to better understand how we |
|||
can serve our users (you) and proactively solve problems that we might not |
|||
otherwise hear about. For example, if we see many page visits in a certain |
|||
browser (or installs with a new version of node), but few successful |
|||
registrations, we know that something is wrong. |
|||
</p> |
|||
|
|||
<p><strong>Other</strong>:</p> |
|||
<p> |
|||
We also use Google Analytics on our web sites for basic functionality. |
|||
Other than that, nothing else comes to mind right now. As we consider what |
|||
we will do in the future, it will be measured against our mission and |
|||
values. We never want to come across as spammy or forceful. We want to do |
|||
things that help us build our brand, acknowledge our customers; things |
|||
that are proactive, and that promote sustainable source. |
|||
</p> |
|||
|
|||
<p> |
|||
If at any time you feel that our Privacy policy is in conflict with our |
|||
mission or values, please let us know. |
|||
</p> |
|||
|
|||
<br /> |
|||
<br /> |
|||
<p>Copyright 2018 AJ ONeal</p> |
|||
</body> |
|||
</html> |
|||
|
@ -1,115 +1,114 @@ |
|||
.column-row { |
|||
display: flex; |
|||
flex-direction: column; |
|||
text-align: center; |
|||
align-items: center; |
|||
display: flex; |
|||
flex-direction: column; |
|||
text-align: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
body { |
|||
position: relative; |
|||
margin-top: 5.777777778em; |
|||
min-height: 36em; |
|||
font-size: 18px; |
|||
font-family: 'Source Sans Pro', sans-serif; |
|||
font-stretch: normal; |
|||
line-height: 1.33; |
|||
letter-spacing: -0.4px; |
|||
color: #1a1a1a; |
|||
opacity: 0; |
|||
position: relative; |
|||
margin-top: 5.777777778em; |
|||
min-height: 36em; |
|||
font-size: 18px; |
|||
font-family: "Source Sans Pro", sans-serif; |
|||
font-stretch: normal; |
|||
line-height: 1.33; |
|||
letter-spacing: -0.4px; |
|||
color: #1a1a1a; |
|||
opacity: 0; |
|||
} |
|||
|
|||
h1 { |
|||
font-size: 2.666666667em; |
|||
max-width: 8em; |
|||
text-align: center; |
|||
font-size: 2.666666667em; |
|||
max-width: 8em; |
|||
text-align: center; |
|||
} |
|||
|
|||
input { |
|||
font-size: 1em; |
|||
padding: 0.444444444em; |
|||
border: solid #d9d9d9 1px; |
|||
border-radius: 2px; |
|||
font-family: inherit; |
|||
font-size: 1em; |
|||
padding: 0.444444444em; |
|||
border: solid #d9d9d9 1px; |
|||
border-radius: 2px; |
|||
font-family: inherit; |
|||
} |
|||
|
|||
button { |
|||
padding: 0.444444444em 1.2em; |
|||
font-size: 1em; |
|||
background-color: #5bc17f; |
|||
border: solid 1px #5bc17f; |
|||
border-radius: 2px; |
|||
font-weight: normal; |
|||
font-stretch: normal; |
|||
letter-spacing: -0.4px; |
|||
font-family: inherit; |
|||
text-align: center; |
|||
color: white; |
|||
height: 40px; |
|||
line-height: 1.13; |
|||
padding: 0.444444444em 1.2em; |
|||
font-size: 1em; |
|||
background-color: #5bc17f; |
|||
border: solid 1px #5bc17f; |
|||
border-radius: 2px; |
|||
font-weight: normal; |
|||
font-stretch: normal; |
|||
letter-spacing: -0.4px; |
|||
font-family: inherit; |
|||
text-align: center; |
|||
color: white; |
|||
height: 40px; |
|||
line-height: 1.13; |
|||
} |
|||
|
|||
.acme-advanced-fields { |
|||
position: absolute; |
|||
bottom: 0; |
|||
padding: 1em; |
|||
text-align: center; |
|||
position: absolute; |
|||
bottom: 0; |
|||
padding: 1em; |
|||
text-align: center; |
|||
} |
|||
|
|||
.domain-subtext { |
|||
font-size: 0.833333333em; |
|||
color: #666; |
|||
text-align: center; |
|||
margin: 0.5em; |
|||
font-size: 0.833333333em; |
|||
color: #666; |
|||
text-align: center; |
|||
margin: 0.5em; |
|||
} |
|||
|
|||
input#acme-domains:before { |
|||
content: "Secure | https://"; |
|||
content: "Secure | https://"; |
|||
} |
|||
|
|||
.domain-psuedo-input { |
|||
display: inline-block; |
|||
margin-right: .6666667em; |
|||
border: solid #d9d9d9 1px; |
|||
border-radius: 2px; |
|||
padding: 0.44444444em; |
|||
color: #d9d9d9; |
|||
display: inline-block; |
|||
margin-right: 0.6666667em; |
|||
border: solid #d9d9d9 1px; |
|||
border-radius: 2px; |
|||
padding: 0.44444444em; |
|||
color: #d9d9d9; |
|||
} |
|||
|
|||
input#acme-domains { |
|||
border: none; |
|||
padding: 0; |
|||
padding-right: 0; |
|||
width: 17.2222222em; |
|||
color: #222; |
|||
border: none; |
|||
padding: 0; |
|||
padding-right: 0; |
|||
width: 17.2222222em; |
|||
color: #222; |
|||
} |
|||
|
|||
input#acme-domains:focus { |
|||
outline: none; |
|||
outline: none; |
|||
} |
|||
|
|||
span.secure-green { |
|||
color: #5bc17f; |
|||
color: #5bc17f; |
|||
} |
|||
|
|||
.why-you-need { |
|||
width: 26.555556em; |
|||
width: 26.555556em; |
|||
} |
|||
|
|||
body.js-app-ready { |
|||
transition: opacity 0.2s; |
|||
opacity: 1; |
|||
transition: opacity 0.2s; |
|||
opacity: 1; |
|||
} |
|||
|
|||
.acme-advanced-fields > * { |
|||
margin: 0 0.5em; |
|||
margin: 0 0.5em; |
|||
} |
|||
|
|||
.js-javascript-warning { |
|||
border: solid 1px red; |
|||
background-color: #ffc0cb40; |
|||
border-radius: 2px; |
|||
margin: 0.6em; |
|||
padding: 0.5em 1em; |
|||
width: 30em; |
|||
} |
|||
|
|||
border: solid 1px red; |
|||
background-color: #ffc0cb40; |
|||
border-radius: 2px; |
|||
margin: 0.6em; |
|||
padding: 0.5em 1em; |
|||
width: 30em; |
|||
} |
|||
|
Caricamento…
Reference in new issue