rebased against master

This commit is contained in:
Matthias Kretschmann 2018-10-01 13:42:22 +02:00
parent 68603c3314
commit 85a9e3ad19
Signed by: m
GPG Key ID: 606EEEF3C479A91F
35 changed files with 1110 additions and 28 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -1,9 +1,287 @@
@import 'variables';
@import 'hero';
.section--farewell {
margin-top: -3rem;
z-index: 2;
.section--intro {
.section__description {
margin-bottom: $spacer * 2;
}
}
.feature {
padding-top: $spacer;
padding-bottom: $spacer;
&:first-child {
padding-top: $spacer * 2;
}
}
.feature__image {
margin: 0 auto;
background: $brand-05;
border-radius: $border-radius;
overflow: hidden;
max-width: 400px;
@media ($screen-sm) {
margin: 0;
}
img {
width: 100%;
height: auto;
max-width: 100%;
display: block;
}
}
.feature__title {
font-size: $font-size-h4;
margin-bottom: $spacer / $line-height;
}
.feature__list {
margin: 0;
padding: 0;
margin-top: $spacer;
li {
display: block;
color: $brand-02;
@media ($screen-sm) {
display: inline-block;
margin-left: $spacer * 2;
&:first-child {
margin-left: 0;
}
}
&:before {
content: '\2714';
font-size: $font-size-small;
color: $brand-success;
margin-right: $spacer / 4;
}
}
}
.connect__title {
font-size: $font-size-h3;
}
.roadmap {
border-left: .2rem solid $brand-02;
margin-left: $spacer * 2;
padding-left: $spacer;
margin-top: $spacer * 4;
margin-bottom: $spacer * 2;
@media ($screen-sm) {
margin-left: $spacer * 3;
padding-left: 0;
}
@media ($screen-md) {
margin-left: 0;
border-left: 0;
border-bottom: .2rem solid $brand-02;
.row {
display: flex;
justify-content: space-between;
}
}
}
.roadmap__step {
position: relative;
margin-bottom: $spacer * 2;
@media ($screen-md) {
text-align: center;
margin-bottom: 0;
padding-left: $spacer / 2;
padding-right: $spacer / 2;
}
&:after {
content: '\2714';
color: transparent;
text-align: center;
font-size: $font-size-mini;
line-height: 2;
width: 1.75rem;
height: 1.75rem;
border-radius: 50%;
display: inline-block;
background: $brand-05;
border: .2rem solid #fff;
position: absolute;
left: -2.95rem;
top: -.25rem;
@media ($screen-md) {
position: relative;
left: auto;
top: auto;
bottom: -.95rem;
}
}
&.is-complete {
&:after {
content: '\2714';
color: $brand-03;
background: $brand-success;
}
}
&.is-progress {
&:after {
background: $brand-07;
}
}
}
.roadmap__net,
.roadmap__target {
margin-bottom: 0;
}
.roadmap__target {
color: $brand-07;
}
.roadmap__time {
color: $brand-02;
font-size: $font-size-small;
@media ($screen-md) {
position: absolute;
left: 0;
bottom: -70%;
width: 100%;
}
}
//
// Get started
//
.section--getstarted {
counter-reset: getstarted-steps;
.feature__image {
background: rgba(255, 255, 255, .5);
}
.section__actions {
border-top: 0;
padding-top: 0;
margin-top: $spacer * 2;
}
}
.getstarted-bigchaindb,
.getstarted-tools {
padding-top: $spacer * 3;
margin-top: $spacer * 3;
border-top: .1rem solid darken($brand-05, 8%);
.grid {
margin-bottom: 0;
}
.feature__image {
background: #8e9eb0;
display: flex;
align-items: flex-end;
padding: $spacer;
padding-bottom: 0;
svg {
margin-bottom: -.5rem;
}
}
}
.getstarted {
color: $text-color;
counter-increment: getstarted-steps;
margin-top: $spacer * 2;
display: block;
padding-top: $spacer;
padding-bottom: $spacer;
@media ($screen-sm) {
display: flex;
flex-wrap: wrap;
height: 100%;
margin-top: 0;
padding-left: $spacer * 2;
padding-right: $spacer * 2;
.grid__col:first-child & {
border-right: .1rem solid darken($brand-05, 8%);
padding-left: 0;
}
.grid__col:last-child & {
border-left: .1rem solid darken($brand-05, 8%);
padding-right: 0;
}
}
}
.getstarted__title {
font-size: $font-size-h4;
margin-bottom: $spacer / 4;
a & {
color: $link-color;
}
&:before {
content: counter(getstarted-steps);
display: block;
background: rgba($brand-02, .3);
width: 1.75rem;
height: 1.75rem;
border-radius: 50%;
text-align: center;
line-height: 1.75rem;
font-size: $font-size-base;
font-weight: $font-weight-bold;
margin-bottom: $spacer / 1.5;
color: $text-color;
}
}
.getstarted__text {
opacity: .9;
}
// Community tools
.tool {
margin-bottom: $spacer * 2;
&:last-child {
margin-bottom: 0;
}
}
.tool__title {
font-size: $font-size-h5;
margin-bottom: $spacer / 4;
.icon {
fill: inherit;
opacity: .5;
margin-left: $spacer / 2;
width: $font-size-mini;
margin-bottom: -.2rem;
}
}
//
@ -11,12 +289,6 @@
//
.articles {
max-width: 100%;
margin-top: $spacer;
margin-bottom: -$spacer;
.button {
padding-bottom: 0;
}
}
.article {

76
_src/_data/board.yml Executable file
View File

@ -0,0 +1,76 @@
#
# HEADS UP!
#
# Possible keys:
# - name
# - position
# - bio
# - social (optional)
# - prefix (optional): used to prefix the name, like Dr.
#
# The photo is grabbed automatically based on the webified version of the name.
# Each photo needs to be put as a square JPG in _src/_assets/img/board/ with the file name reflecting the name, e.g. David Holtzman would be david-holtzman.jpg
#
- name: David Holtzman
position: President
bio: |
David Holtzman is an information technology security expert, educator and activist. He started his career as a cryptographic analyst, military codebreaker, U.S. Naval Security Group submariner, and Soviet Manned Space Program analyst. Holtzman is an early-stage internet pioneer.
He was the CTO at Network Solutions when it managed the domain name system, where he oversaw the explosive growth of the commercial internet to more than 20 million domain names by the late 1990s. He is the author of Privacy Lost: How Technology is Endangering Your Privacy, and a regular commentator for major news media, including Bloomberg Television, BBC, CNN, The New York Times, Business Week, and The Washington Post.
social:
- name: Twitter
link: https://twitter.com/theglobalpov
- name: Constance Choi
position: Secretary
bio: |
Constance Choi is the co-founder and Director of [COALA](http://coala.global/), an international multidisciplinary collaborative research and development initiative on blockchain technologies, smart contracts, and decentralized autonomous applications. Choi co-founded and was General Counsel and Chief Compliance Officer of the Kraken digital asset exchange.
She holds a J.D. from UC Berkeley School of Law, and undergraduate degrees from Brown University and University of Cambridge. She has practiced at several law firms, including the Electronic Frontier Foundation, focusing on internet and technology law, intellectual property, privacy, data security, and constitutional rights.
social:
- name: Twitter
link: https://twitter.com/sevenadvisory
- name: Greg McMullen
position: Treasurer
bio: |
Greg McMullen is a lawyer, internet advocate, and Chief Policy Officer at BigchainDB, where he built the framework for the IPDB Foundation and helped bring together its founding caretakers. He is a leading member of the [COALA IP](https://www.coalaip.org/) working group and co-authored the COALA IP specification and policy paper.
Before joining BigchainDB and IPDB, he was a litigator at one of Canadas top class actions law firms, where he worked on class actions involving privacy, copyright, competition law, and price fixing conspiracies. He served on the board of directors the BC Civil Liberties Association, Canadas largest civil liberties organization, and authored the BCCLAs guide to privacy and security when crossing borders with electronic devices.
social:
- name: Twitter
link: https://twitter.com/gmcmullen
- name: Nina-Luisa Siedler
prefix: Dr.
position: Member-at-Large
bio: |
Dr. Nina-Luisa Siedler is a lawyer and partner at [DWF Berlin](https://www.dwf.law/people/n/nina-siedler/) with over 15 years of experience. She is interested in FinTech and decentralized technology, and her practice includes blockchain matters. She is an advisor to Blockchain Hub Berlin.
Dr. Siedler is specialized in structured finance, including credit and capital market instruments, especially acquisition and project financing, real estate transactions, asset-backed securities, structured cover bonds, debt loans, and corporate bonds.
social:
- name: Twitter
link: https://twitter.com/ninsie3
- name: Kaspar Korjus
position: Member-at-Large
bio: |
Kaspar Korjus is the Managing Director of Estonias [e-Residency](https://e-estonia.com/e-residents/about/) program, which offers a fully digital identity for global citizens. e-Residency is built on inclusion, transparency, and legitimacy. It is meant to empower citizens globally and provide world-wide digital and financial inclusion.
Korjus was chosen by Megan Smith, CTO of the United States, as one of 20 digital leaders for the Global Leaders Digital Exchange (GLDE) program, and is listed in Forbes Estonias “30 under 30” as #1 in Technology and Finance.
social:
- name: Twitter
link: https://twitter.com/kasparkorjus

50
_src/_data/caretakers.yml Executable file
View File

@ -0,0 +1,50 @@
- name: COALA
link: http://coala.global
- name: Internet Archive
link: https://archive.org
- name: Human Data Commons Foundation
link: https://humandatacommons.org
- name: Dyne.org
link: https://www.dyne.org
- name: Monax
link: https://monax.io
- name: IPFS
link: https://ipfs.io
- name: unMonastery
link: http://unmonastery.org
- name: BigchainDB
link: https://www.bigchaindb.com
- name: OpenMedia
link: https://openmedia.org
- name: SmartContract
link: https://smartcontract.com
logo: false
- name: OuiShare
link: http://ouishare.net
- name: Tendermint
link: https://tendermint.com
- name: Stratumn
link: https://www.stratumn.com
- name: CREATE-NET
link: http://create-net.fbk.eu
logo: false
- name: KICTANet
link: https://www.kictanet.or.ke
- name: Global Consent
link: http://www.consent.global/
logo: false

0
_src/_data/colors.yml Normal file → Executable file
View File

0
_src/_data/contact.yml Normal file → Executable file
View File

View File

@ -0,0 +1,34 @@
intro: |
Building a decentralized organization that runs smoothly is not easy. Weve learned from those who came before us, from the DNS to The DAO.
IPDB is coordinated by the IPDB Foundation, which is made up of its member caretakers and its elected management board. The IPDB Foundation advances the research of blockchain technology and decentralized governance for the benefit of society.
caretakers:
title: Caretakers
description: "The IPDB Foundation is made up of member organizations we call caretakers. Our caretakers elect our management board and run the nodes that store and validate blocks containing the transactions sent to IPDB."
features:
- title: "Public interest mandate"
description: "A majority of caretakers must be not-for-profit organizations so the mission will take priority over profit."
- title: "Jurisdictional diversity"
description: "Less than half of the caretakers can be based in any one legal jurisdiction, so a single legal attack can't shut down the network."
- title: "Geographical diversity"
description: "Our caretakers are based around the world to limit disruption from regional events such as power outages or natural disasters."
- title: "Management board"
description: "Caretakers elect the management board, which is responsible for the day-to-day operations of IPDB."
members:
title: "Current Caretakers"
description: "Our caretakers share our commitment to building a decentralized internet."
board:
title: Management Board
description: "The management board oversees the day-to-day operations of the IDPB Foundation. The management board is elected by the caretakers for a two year term."
vision:
title: "Science & Research"
description: "The IPDB Foundation advances science and research."
text: |
The IPDB Foundation promotes science and research on the operation of scalable blockchain databases, the governance of decentralized systems, and the applications of blockchain technology.
The IPDB Foundation has taken a leading role in the Berlin blockchain community. We co-organized the [9984 Summit](https://2017.9984.io/), a two-day conference in Berlin bringing together top blockchain thinkers from around the world. We co-organize the [IPDB-BigchainDB Meetup](https://www.meetup.com/BigchainDB-IPDB-Meetup/) in Berlin. We have sent speakers to numerous conferences and events in Berlin and across the EU, and have published numerous [blog posts](https://medium.com/ipdb-blog) on blockchain technology.
In the future we will continue to make our work available in many ways——hosting or presenting at conferences and workshops, publishing research results and technical papers, releasing open source software, and more. Everything we do will be made available online, for the benefit of the public.

17
_src/_data/content-front.yml Normal file → Executable file
View File

@ -3,23 +3,6 @@ hero:
description: "IPDB is a ready-to-use public network with a focus on strong governance, all powered by BigchainDB."
action: "Get started with IPDB"
farewell:
title: "As of February 2nd, 2018, IPDB will be shutting down."
text: |
We've thought long and hard about this decision. Our plan to be an internet-scale blockchain database for the world started in mid-2015, and those two and a half years are an eternity in blockchain time. The world has changed, and funding to maintain and operate IPDB while maintaining its core values became an insurmountable struggle.
Weve reached milestones in our short time that make us extremely proud. We built a governance model that offered transparency and legitimacy. We confronted the reality of data protection law. We will make these and other learnings available to you in the form of blog posts, reports, or contributions to other projects over the coming months.
We want to thank everyone who has contributed to IPDB, especially our caretakers and board members. IPDB would not have made it this far without your guidance and expertise.
We also want to thank the people who have been using the IPDB Test Network. Weve been driven by the dreams of what youll build.
The IPDB Test Network will continue to run until February 2nd, 2018, at which point it will be shut down. All accounts and data will be erased and no new sign-ups will be accepted.
[BigchainDB](https://www.bigchaindb.com) has started its own test network running the same BigchainDB software that powered IPDB. [You can sign up to use it today](https://testnet.bigchaindb.com).
See you on the internet.
intro:
title: "A planetary-scale blockchain database"
description: "The distributed, permanent web is evolving and needs a decentralized database. We are that database."

102
_src/_data/faq.yml Executable file
View File

@ -0,0 +1,102 @@
- question: What is IPDB?
answer: |
IPDB is the Interplanetary Database. It's a ready-to-use public network with a focus on strong governance, all powered by BigchainDB. Think of IPDB as being the database for a decentralized world computer.
- question: Who owns IPDB?
answer: |
No one “owns” IPDB. We see it as a public good. IPDB is operated by the IPDB Foundation e.V., a charitable organization registered in Berlin, Germany. The IPDB Foundation has a number of member organizations, or Caretakers, who provide consensus voting and input on governance.
- question: How is IPDB funded?
answer: |
The IPDB Foundation is currently funded by BigchainDB GmbH, but plans to become self-sufficient through donations and by selling transactions on IPDB.
- question: Where can I find the IPDB governance documents?
answer: |
Our [Articles of Association](/foundation/articles/) are available in German and in English.
- question: Who is on the Board of Directors?
answer: |
You can always find the current [Board of Directors on the Foundation page](/foundation/#board).
- question: Who can use IPDB?
answer: |
Anyone can use IPDB. You can learn more about getting started [on the front page](/).
- question: What are the IPDB Terms of Service and Privacy Policy?
answer: |
The most recent versions of the [IPDB Terms of Service](https://ipdb.io/terms) and [IPDB Privacy Policy](https://ipdb.io/privacy) are always available on the IPDB website.
- question: How do I use IPDB?
answer: |
IPDB is based on [BigchainDB](https://www.bigchaindb.com/). You can learn about using the IPDB client API on the BigchainDB documentation page.
- question: How much does it cost to use IPDB?
answer: |
When it launches, IPDB will be free to everyone. Eventually IPDB will start charging its heavy users on a per-transaction basis. For most users, IPDB will remain free.
- question: How much *will* it cost?
answer: |
We dont know yet, but we intend to keep it really cheap. Cheap means orders of magnitude cheaper than other blockchain databases.
- question: Is it open source?
answer: |
All the code and documentation used or produced by IPDB is open source. You can view the source for [BigchainDB](https://github.com/bigchaindb/bigchaindb), or better yet, make a contribution!
- question: What do Caretakers do?
answer: |
Caretakers play a critical role in IPDBs operation and governance (see “How does consensus work on IPDB?”). In addition to voting on transactions on IPDB, Caretakers vote to approve new Caretakers and to select the IPDB Foundations board of directors.
- question: How are Caretakers chosen?
answer: |
Caretakers can apply to IPDB to be considered. The existing Caretakers will vote to decide whether a new Caretaker should be added.
- question: Who can become a Caretaker?
answer: |
Caretakers must have demonstrated a commitment to building or protecting an open, decentralized Internet. A majority of the Caretaker roles must be held by not-for-profit organizations. Caretakers are chosen to reflect a diversity of roles, geographical locations, and jurisdictions.
- question: Who are the current Caretakers?
answer: |
You can always find the current list of [IPDB Caretakers on the Foundation page](/foundation/#caretakers).
- question: Can my organization be a Caretaker?
answer: |
Maybe! If you think youre a good fit, contact us at !EMAIL_CARETAKERS!.
## Transactions
- question: Can I delete a Transaction?
answer: |
No. Transactions cannot be deleted from IPDB once they have been written. Not even the IPDB Foundation or any of the Caretakers can delete or change Transactions once they have been written.
- question: Who owns the information I write to IPDB?
answer: |
You do. You keep the copyright or other rights in all information you record to IPDB.
## Technical
- question: What technology is IPDB based on?
answer: |
IPDB is a public instance of [BigchainDB](https://www.bigchaindb.com/), a scalable blockchain database.
- question: What is the IPDB consensus model?
answer: |
IPDB operates on a federated model for consensus. The IPDB federation relies on a number of trusted entities we call Caretakers. The Caretakers vote on all transactions on the network, and transactions approved by the majority are added to the database. You can learn more about the consensus model in the BigchainDB [whitepaper](https://www.bigchaindb.com/whitepaper/).
- question: Is IPDB a blockchain?
answer: |
No. IPDB brings blockchain characteristics to an open source big data database: 1) decentralized control, 2) immutability, and 3) assets.
- question: Is IPDB a currency?
answer: |
No. IPDB has native assets but those assets are not a currency. Instead, anyone can issue and transfer assets or tokens that represent something else.
- question: Can other people see my transactions?
answer: |
Yes. Anyone can see the transactions made on IPDB. IPDB is a public instance of BigchainDB.
- question: Can IPDB talk to other blockchains?
answer: |
BigchainDB has already been integrated with other services. Other integrations are waiting to be created. If you have a request, or better still, if you want to help out, you can head over to the [BigchainDB developer community](https://github.com/bigchaindb/bigchaindb) at Github.
- question: Why is IPDB better than Ethereum, Bitcoin, IPFS, Dogecoin…?
answer: |
IPDB is not a replacement for decetralized computation platforms such as Ethereum, file storage from IPFS, or cryptocurrencies such as Bitcoin. IPDB is *complimentary* to them. We see IPDB as filling a gap in the decentralized stack.

0
_src/_data/menus.yml Normal file → Executable file
View File

41
_src/_includes/board.html Executable file
View File

@ -0,0 +1,41 @@
<div class="board grid grid--full grid-small--half grid--gutters">
{% assign board = site.data.board %}
{% for member in board %}
{% assign slug = (member.name | downcase | replace: ' ', '-') %}
<div class="grid__col">
<div class="boardmember">
<div class="boardmember__info">
<img class="boardmember__avatar" src="/assets/img/board/{{ slug }}.jpg">
<div class="boardmember__meta">
<h1 class="boardmember__name">
{% if member.prefix %}{{ member.prefix }} {% endif %}
{{ member.name }}
</h1>
<p class="boardmember__position">{{ member.position }}</p>
{% if member.social %}
<p class="boardmember__social">
{% for item in member.social %}
<a href="{{ item.link }}" title="{{ item.name }}">
<svg class="icon" aria-labelledby="title">
<title>{{ item.name }}</title>
<use xlink:href="/assets/img/sprite.svg#icon-{{ item.name | downcase }}"></use>
</svg>
</a>
{% endfor %}
</p>
{% endif %}
</div>
</div>
<div class="boardmember__bio">{{ member.bio | markdownify }}</div>
</div>
</div>
{% endfor %}
</div>

24
_src/_includes/caretakers.html Executable file
View File

@ -0,0 +1,24 @@
<div class="caretakers grid grid--half grid-medium--fit grid-medium--columns grid--justifycenter grid--gutters">
{% assign caretakers = (site.data.caretakers | sort: 'name') %}
{% for caretaker in caretakers %}
{% assign slug = (caretaker.name | downcase | replace: ' ', '-' | replace: '.', '-') %}
<div class="grid__col grid__col--2">
<a class="caretaker" href="{{ caretaker.link }}" rel="external">
{% if caretaker.logo == false %}
<span class="caretaker__name">{{ caretaker.name }}</span>
{% else %}
<svg class="logo-caretaker logo-caretaker--{{ slug }}" aria-labelledby="title">
<title>{{ caretaker.name }}</title>
<use xlink:href="/assets/img/sprite.svg#logo-{{ slug }}"></use>
</svg>
{% endif %}
</a>
</div>
{% endfor %}
</div>

13
_src/_includes/contact.html Normal file → Executable file
View File

@ -20,3 +20,16 @@
{{ contact.address.country }}
</p>
</div>
<ul class="social-list">
{% for item in contact.social %}
<li>
<a href="{{ item.link }}" title="{{ item.name }}">
<svg class="icon" aria-labelledby="title">
<title>{{ item.name }}</title>
<use xlink:href="/assets/img/sprite.svg#icon-{{ item.name | downcase }}"></use>
</svg>
</a>
</li>
{% endfor %}
</ul>

0
_src/_includes/footer.html Normal file → Executable file
View File

0
_src/_includes/form-contact.html Normal file → Executable file
View File

View File

@ -0,0 +1,12 @@
<form class="form form--newsletter" action="//foundation.us15.list-manage.com/subscribe/post?u=036bac2d4e3a3ea3de876a8dd&amp;id=8a21e3e9ca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" target="_blank">
<div class="form__group required">
<label class="form__label" for="mce-EMAIL">Your Email</label>
<div class="input-group">
<input class="form__control" type="email" id="mce-EMAIL" name="EMAIL" required placeholder=" ">
<input class="button button-primary button--small" type="submit" value="Subscribe">
</div>
<span class="form__help">We will never use the contact information you submit for anything except delivering our newsletter.</span>
</div>
</form>

0
_src/_includes/head.html Normal file → Executable file
View File

2
_src/_includes/header.html Normal file → Executable file
View File

@ -1,5 +1,3 @@
{% include oceanprotocol.html %}
{% include menu-main.html %}
<header class="header header--page">

24
_src/_includes/menu-footer.html Normal file → Executable file
View File

@ -10,6 +10,17 @@
</a>
</div>
<div class="grid__col">
{% for link in site.data.menus.main %}
{% assign active = nil %}
{% if page.url contains link.url %}
{% assign active = 'active' %}
{% endif %}
<a class="menu__link {{ active }}" href="{{ link.url }}">{{ link.title }}</a>
{% endfor %}
</div>
<div class="grid__col">
{% for link in site.data.menus.footer %}
{% assign active = nil %}
@ -21,5 +32,18 @@
{% endfor %}
</div>
<div class="grid__col">
<h2 class="footer__title">Follow us</h2>
<div class="social">
{% for item in site.data.contact.social %}
<a class="social-link" href="{{ item.link }}" title="{{ item.name }}">
<svg class="icon" aria-labelledby="title">
<title>{{ item.name }}</title>
<use xlink:href="/assets/img/sprite.svg#icon-{{ item.name | downcase }}"></use>
</svg>
</a>
{% endfor %}
</div>
</div>
</div>
</nav>

View File

@ -0,0 +1,28 @@
<nav class="menu menu--sub menu--foundation section--background">
<div class="row">
<div class="menu-overflow">
<a class="menu__link" href="/foundation/#caretakers" data-scroll>{{ site.data.content-foundation.caretakers.title }}</a>
<a class="menu__link" href="/foundation/#board" data-scroll>{{ site.data.content-foundation.board.title }}</a>
<a class="menu__link" href="/foundation/#vision" data-scroll>{{ site.data.content-foundation.vision.title }}</a>
{% assign current_page = page %}
|
{% for page in site.pages %}
{% if page.path contains 'foundation' %}
{% assign active = nil %}
{% if page.url == current_page.url %}
{% assign active = 'active' %}
{% endif %}
{% unless page.path contains 'foundation/index' or page.language == 'de' %}
<a class="menu__link {{ active }}" href="{{ page.url }}">{{ page.title }}</a>
{% endunless %}
{% endif %}
{% endfor%}
</div>
</div>
</nav>

0
_src/_includes/menu-main.html Normal file → Executable file
View File

0
_src/_includes/oceanprotocol.html Normal file → Executable file
View File

0
_src/_includes/scripts.html Normal file → Executable file
View File

0
_src/_includes/sharing.html Normal file → Executable file
View File

31
_src/faq.html Executable file
View File

@ -0,0 +1,31 @@
---
layout: page
title: Frequently Asked Questions
subtitle: Get answers to your most pressing questions
css: page-faq
---
{% capture email_caretakers %}<a href="mailto:{{ site.data.contact.email_caretakers }}">{{ site.data.contact.email_caretakers }}</a>{% endcapture %}
<section class="section section--faq">
<div class="row row--narrow">
<div class="faq-contents">
{% for faq in site.data.faq %}
<h1 class="faq-contents__title"><a href="#{{ faq.question | downcase | replace: ' ','-' | replace: '?', '' }}" data-scroll>{{ faq.question }}</a></h1>
{% endfor %}
</div>
<div class="faq content--page--markdown">
{% for faq in site.data.faq %}
{% assign id = faq.question | downcase | replace: ' ','-' | replace: '?', '' %}
<h1 class="faq__question" id="{{ id }}"><a class="header-link" href="#{{ id }}">#</a> {{ faq.question }}</h1>
<div class="faq__answer">{{ faq.answer | replace: '!EMAIL_CARETAKERS!', email_caretakers | markdownify }}</div>
{% endfor %}
</div>
</div>
</section>

19
_src/foundation/articles.md Executable file
View File

@ -0,0 +1,19 @@
---
layout: page
title: Articles
subtitle: Articles of Association of the IPDB Foundation
narrow: true
language: en
alternate:
- language: de
link: /foundation/satzung/
---
<div class="alert alert--info">
IPDB Foundation is registered as a non-profit in Germany. The English version of this document is for information only. The <a href="/foundation/satzung/">German version</a> is legally binding.
</div>
*Coming soon...*

174
_src/foundation/bylaws.md Executable file
View File

@ -0,0 +1,174 @@
---
layout: page
title: Bylaws
narrow: true
---
# Definitions
1. **Advisor** means an individual appointed to serve as an advisor to the Foundation.
1. **Advisory Committee** means a subset of Advisors established by the Board to provide advice on a specific subject area.
1. **Applicant** means an entity that has applied to become a Caretaker.
1. **Articles** means the current Articles of Association (Satzung) of the Foundation. If there is a conflict between the English and German versions of the Articles, the German version prevails.
1. **Board** means the Board of Directors of the Foundation.
1. **Board Member** means an individual member of the Board.
1. **Bylaws** means this document.
1. **Caretaker** means a member of the Foundation.
1. **Conference** means an audio or video teleconference.
1. **Foundation** means the Interplanetary Database Foundation e.V.
1. **IPDB** means the Interplanetary Database, a decentralized database made up of the cluster of Nodes operated by Caretakers.
1. **Key Pair** means a cryptographic public-private key pair generated by a Board Member, Caretaker, or Representative by the means set out in Policy.
1. **Node** means an instance of the Software operated by a Caretaker.
1. **Policy** means policies, procedures, or other guidelines approved by the Board.
1. **Private Key** means the half of a Key Pair used by Caretakers to sign blocks or votes or by Board Members or Representatives to sign votes.
1. **Public Key** means the half of a Key Pair publicly associated with a Board Member, Caretaker, or Representative and serves as their identifier on IPDB or within the Foundation.
1. **Representative** means an individual or individuals designated by a Caretaker to be the Staffs point of contact for that Caretaker, with the authority to vote on the Caretakers behalf in Caretakers meetings.
1. **Software** means the software the Board determines must be run on each Node.
1. **Staff** means individuals appointed by the Board to administer the day-to-day activities of the Foundation.
# Structure
1. The Foundation will be registered in Berlin, Germany, as a charitable organization.
1. The Bylaws expand on the text of the Articles. If there is a conflict between the Bylaws and the Articles, the Articles prevail.
# Board (Article 6)
## Board meetings
1. The Board will meet at least once per quarter.
1. Board Members may attend Board meetings in person or by Conference.
1. Additional Board meetings can be called with the agreement of two Board Members.
1. A Board meeting quorum is met if at least 3 Board Members are in attendance.
## Votes by board members
1. Board Members may cast votes in person, by Conference, or by email.
1. Votes by voice can be cast in person or by Conference.
1. Votes in writing must be cast by email and, if required by Policy, must be signed with the Board Members Private Key.
## Board elections
1. The Board will determine the date of elections for the Board.
1. Staff will deliver notice of a Board election, listing any vacancies and candidates nominated by the Board, within one month of the election, by email to the Representatives and on a page on the Foundation website.
1. The Board may nominate candidates for vacancies on the Board to be delivered with notice of the Board election, or at any time up to two weeks before the election.
1. Caretakers may nominate candidates for vacancies on the Board at any time after notice of the Board election has been delivered, or at any time up to two weeks before the election.
1. All candidates may provide a 500 character biography and a URL to be posted on the Foundation website.
1. Staff will deliver a final notice of the Board election, along with a complete list of candidates and their biographies, two weeks before the election.
## Staff
1. The Board may delegate authority to Staff, including signing authority for the Foundation.
1. The scope of authority granted to Staff must be clearly set out by the Board in its grant of authority.
1. The Board will appoint at least one person as Staff to perform the duties set out in the Bylaws.
# Advisors (Article 7)
1. Advisors are appointed by a majority vote by the Board.
1. Consultations between Board Members and Advisors can be kept in confidence as between the Board Member and the Advisor.
1. The Board may establish Advisory Committees to provide advice in their areas of expertise.
1. The Board may delegate the development of Policies to an Advisory Committee established for that purpose.
1. The Board may vote to request formal advice from Advisors or Advisory Committees. 1. The response to such a request will be made public.
# Caretakers (Articles 3-5)
## Caretaker representatives
1. Caretakers must nominate at least one individual as a Representative.
1. The Representative must generate a Key Pair.
## Caretakers meetings
1. Staff will provide notice of meetings of the Caretakers to the Caretakers Representatives
1. Caretakers may attend meetings in person or by Conference.
## Votes by caretakers
1. Caretakers Representatives vote on behalf of the Caretakers.
1. Representatives may cast votes in person, by Conference, or by email.
1. Votes by voice can be cast in person or by Conference.
1. Votes in writing must be cast by email and, if required by Policy, must be signed with the Representatives Private Key.
## Number of caretakers
1. The Foundation may have no more than 100 Caretakers.
1. The Board may admit a maximum of 20 Caretakers each year, at the discretion of the Board.
## Adding caretakers (Article 3)
1. Entities that wish to become a Caretaker may apply in writing to the Foundation.
1. The Board reviews Applicants with consideration to the requirements and targets listed in this section.
1. To admit an Applicant, the Board must be satisfied that the Applicant is committed to the Foundations mission and building a decentralized internet that is open, inclusive, transparent, and diverse.
1. The following requirements for Caretaker diversity must always be met by the current membership:
1. More than 50% of Caretakers must be not-for-profit or charitable organizations.
1. Fewer than 50% of Caretakers may be based in any one country.
1. The following targets for Caretaker diversity are not requirements, but will be weighted highly in the Boards determination:
1. More than 66% of the Caretakers should be not-for-profit or charitable organization.
1. Fewer than 25% of Caretakers should be based in any one country.
1. Fewer than 50% of Caretakers should be based in any one region.
1. At least one Caretaker should be based in each region.
## Expulsion of caretakers
1. The process for expulsion is triggered by a complaint regarding the conduct of the Caretaker brought to the Foundation by a Board Member, another Caretaker, or a member of the public.
1. Staff will receive complaints and present them to the Board as they are received.
Complaints will be addressed at the next regularly scheduled Board meeting.
If the matter is urgent, a special Board meeting can be called if requested by 20% of Caretakers or 2 Board Members.
1. The Board may dismiss a complaint without comment if it is unanimously voted by the Board to be frivolous or unfounded. Votes to dismiss a complaint must be in writing, and must be reported to the Caretakers by the Board along with the complaint.
The Board will call for a comments over a period of 4 weeks, during which all Caretakers, including the subject of the complaint, can present arguments and evidence for or against expulsion.
1. After the comment period the Board will consider the factors below, then either dismiss the complaint as unfounded or recommend that the Caretakers vote to expel the subject of the complaint.
1. All Caretakers except the subject of the complaint may vote on the Boards recommendation. If the vote passes, the subject of the complaint is expelled from the Foundation and their keys will be invalidated immediately.
## Grounds for expulsion
1. The following factors will be considered by the Board and Caretakers in reviewing the subject of a complaint:
1. Actions by the Caretaker determined to be in violation of the Articles or the mission statement of the Foundation.
1. Deliberate tampering with the validity or integrity of IPDB.
1. Failure to comply with Policies for security, privacy, or operating a Node.
1. Failure of the Representative to respond to communications from Staff in a timely manner.
1. Actions by the Caretaker determined to be detrimental to the success, functioning, or reputation of IPDB or the Foundation.
# Keys
## Generating keys
1. Caretakers and Representatives will generate Key Pairs in the manner set in Policy.
## Securing keys
1. Caretakers and Representatives will communicate their Public Keys to the Foundation in the manner set in Policy.
1. Private keys will be secured in the manner set in Policy.
## Revoking signing authority
1. If a complaint against a Caretaker is brought to the Board, that Caretakers authority to sign blocks on IPDB will be suspended.
1. Signing authority can be reinstated if the complaint is unfounded or dismissed.
# Nodes
## Operating a node
1. Nodes can be operated on hardware operated by third party providers or hardware managed by the Caretaker.
1. Caretakers without the technical capacity to maintain a Node may, with the approval of the Board, retain a part-time system administrator to maintain the Node, or be paired with another Caretaker who can offer assistance.
## Cloud accounts
1. The Foundation will provide Caretakers cloud accounts on which to run the Software.
Caretakers must manage their credentials in accordance with Policy.
1. Cloud accounts can only be used to operate the Software.
## Security
1. Caretakers must follow all security Policy approved by the Board.
## Software
1. Caretakers must run the version of the Software approved by the Board, and must upgrade in accordance with Policy approved by the Board.
# Privacy and Information Handling
1. Caretakers must follow all privacy Policy approved by the Board.
1. Caretakers may release information to third parties only if it is required to comply with a binding legal processes such as a court order or a warrant, except as defined in privacy Policy approved by the Board.
1. If a Caretaker or the Foundation receives any legal request, order, or demand, the recipient must notify Staff and the other Caretakers immediately.
1. Caretakers will put a file in a public location on their website called canary.txt and will remove that file if the Caretaker has received a legal request, order, or demand but is restrained from notifying the Caretakers or the Foundation of the request.

120
_src/foundation/index.html Executable file
View File

@ -0,0 +1,120 @@
---
layout: page
title: Foundation &amp; governance
subtitle: Decentralized without dysfunction.
css: page-foundation
---
{% assign content = site.data.content-foundation %}
<section class="section section--intro">
<div class="row">
<header class="section__header">
<div class="grid grid--full grid-small--columns grid--center grid--gutters">
<div class="grid__col grid__col--4">
<div class="section__description">{{ content.intro | markdownify }}</div>
</div>
<div class="grid__col grid__col--2">
<svg width="559" height="253" aria-labelledby="title">
<title>IPDB Governance</title>
<use xlink:href="/assets/img/sprite.svg#governance"></use>
</svg>
</div>
</div>
</header>
</div>
</section>
<section class="section section--background section--caretakers" id="caretakers">
<div class="row">
<header class="section__header">
<div class="grid grid--full grid-medium--columns grid--center grid--gutters">
<div class="grid__col grid__col--4">
<h1 class="section__title">{{ content.caretakers.title }}</h1>
<p class="section__description">{{ content.caretakers.description }}</p>
</div>
</div>
</header>
</div>
<div class="row features">
<div class="grid grid--full grid-small--half grid--gutters">
{% for feature in content.caretakers.features %}
<div class="grid__col">
<div class="feature">
<svg class="feature__image" width="298" height="220" aria-labelledby="title">
<title>IPDB Governance</title>
<use xlink:href="/assets/img/sprite.svg#distributed"></use>
</svg>
<h3 class="feature__title">{{ feature.title }}</h3>
<p class="feature__description">{{ feature.description }}</p>
</div>
</div>
{% endfor %}
</div>
</div>
<div class="row caretakers-current">
<div class="grid grid--full grid-medium--columns grid--center grid--gutters">
<div class="grid__col grid__col--4">
<h2 class="section__title">{{ content.caretakers.members.title }}</h2>
<p class="section__description">{{ content.caretakers.members.description }}</p>
</div>
</div>
{% include caretakers.html %}
</div>
<footer class="row">
<footer class="section__actions">
<a href="mailto:{{ site.data.contact.email_caretakers }}?subject=Becoming a caretaker" class="button button--text">Become a caretaker</a>
</footer>
</footer>
</section>
<section class="section section--board" id="board">
<div class="row">
<header class="section__header">
<div class="grid grid--full grid-medium--columns grid--center grid--gutters">
<div class="grid__col grid__col--4">
<h1 class="section__title">{{ content.board.title }}</h1>
<p class="section__description">{{ content.board.description }}</p>
</div>
</div>
</header>
</div>
<div class="row">
{% include board.html %}
</div>
</section>
<section class="section section--vision section--border" id="vision">
<div class="row">
<div class="grid grid--full grid-medium--columns grid--center grid--gutters">
<div class="grid__col grid__col--4">
<header class="section__header">
<h1 class="section__title">{{ content.vision.title }}</h1>
<p class="section__description">{{ content.vision.description }}</p>
</header>
</div>
</div>
</div>
<div class="row">
<div class="grid grid--full grid-medium--columns grid--gutters">
<div class="grid__col grid__col--2">
<figure class="feature__image">
<svg>
<use xlink:href="/assets/img/sprite.svg#starbase-towers"></use>
</svg>
</figure>
</div>
<div class="grid__col grid__col--4">
{{ content.vision.text | markdownify }}
</div>
</div>
</div>
</section>

19
_src/foundation/satzung.md Executable file
View File

@ -0,0 +1,19 @@
---
layout: page
title: Satzung
subtitle: Satzung des Interplanetary Origins e.V.
narrow: true
language: de
alternate:
- language: en
link: /foundation/articles/
---
<div class="alert alert--info">
This document is also available in <a href="/foundation/articles/">English</a>.
</div>
*In Arbeit...*

53
_src/privacy.md Executable file
View File

@ -0,0 +1,53 @@
---
layout: page
title: Privacy policy
narrow: true
---
*29 November 2016*
## Introduction
These policies apply to your use of this website and to information you submit through this website. Use of the IPDB network is subject to its own Terms of Service and Privacy Policy.
We collect and use information in accordance with the German Telemedia Act (Telemediengesetz) and (Bundesdatenschutzgesetz), or with your express consent. We do not knowingly collect personal information from children under 18 without permission from a parent or guardian.
## What information we collect and how we use it
We may log information about your visit to this site (your IP address, browser version, and so on) so we can improve the site and keep it secure.
If you submit information through the forms on this site, we will collect the information you submit. We may use that information to contact you or to improve IPDB.
## How we store information
We may use cloud service providers to store information. Information may be stored outside of the European Union, but we only use providers that comply with the US-EU [Privacy Shield](http://ec.europa.eu/justice/data-protection/international-transfers/eu-us-privacy-shield/index_en.htm). Right now we use the following providers, which each have their own privacy policies:
* Google Apps for email and internal document sharing ([Privacy Policy](https://www.google.com/policies/privacy/)).
* Mailchimp for mailing lists ([Privacy Policy](https://mailchimp.com/legal/privacy/)).
* 3Scale for the Test Network user portal ([Privacy Policy](https://www.redhat.com/en/about/privacy-statement)).
## How information is shared
We will not share or sell the identifiable personal information we collect or generate except as we explain in this section.
We may share personal information with BigchainDB GmbH, the company responsible for the development of the software IPDB runs on. This information will be used in accordance with the [BigchainDB Privacy Policy](https://bigchaindb.com/privacy) and our information sharing agreement with BigchainDB.
We may share non-personal or aggregate information, such as usage statistics for the site.
## Cookies
We only use one cookie: [Google Analytics](https://www.google.com/analytics/). It provides information about how you use the site so we can make it better. We respect the [Do Not Track](https://en.wikipedia.org/wiki/Do_Not_Track) header. You can block tracking cookies entirely by installing a browser add-on such as [Privacy Badger](https://www.eff.org/privacybadger) or [uBlock Origin](https://github.com/gorhill/uBlock).
## Updating or deleting your personal information
We will update or delete your personal information if you ask us to unless we are under a legal obligation to keep it. Just email us at privacy@ipdb.foundation.
## Legal requests
We may be required to disclose information to comply with the law or processes such as warrants or court orders. [Watch our canary](/canary/).
## Open door policy
We believe privacy policies should be easy to read and make sense to non-lawyers. If something isn't clear or if you have questions, email us at privacy@ipdb.foundation.

9
_src/terms.md Executable file
View File

@ -0,0 +1,9 @@
---
layout: page
title: IPDB Terms of Service
narrow: true
---
*Coming soon...*