diff --git a/README.md b/README.md index 1f2b996..0bf6caf 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ - [Content editing](#content-editing) - [Pages](#pages) - [Special pages](#special-pages) + - [Front page](#front-page) - [Development](#development) - [Install dependencies](#install-dependencies) - [Development build](#development-build) @@ -174,7 +175,7 @@ At the moment, jQuery is only used for the form submissions for its simple `$.aj - Greg McMullen ([@gmcmullen](https://github.com/gmcmullen)) - [IPDB Foundation](https://ipdb.io) - Morgan Sutherland ([@msutherl](https://github.com/msutherl)) - [IPDB Foundation](https://ipdb.io) -- Matthias Kretschmann ([@kremalicious](https://github.com/kremalicious)) - [BigchainDB](https://www.bigchaindb.com) +- Matthias Kretschmann ([@kremalicious](https://github.com/kremalicious)) - [BigchainDB](https://www.bigchaindb.com)/[Ocean Protocol](https://oceanprotocol.com) - Members of the BigchainDB development team - Representatives of Caretakers in the IPDB diff --git a/_config.yml b/_config.yml index db12813..1a4d857 100644 --- a/_config.yml +++ b/_config.yml @@ -18,7 +18,7 @@ login: # Form actions forms: - contact: '//formspree.io/contact@ipdb.io' + contact: '//formspree.io/contact@ipdb.global' newsletter: "//foundation.us15.list-manage.com/subscribe/post?u=036bac2d4e3a3ea3de876a8dd&id=8a21e3e9ca" # Urls diff --git a/_design/caretakers.sketch b/_design/caretakers.sketch index 324f77a..086676c 100644 Binary files a/_design/caretakers.sketch and b/_design/caretakers.sketch differ diff --git a/_src/_assets/img/board/david-holtzman.jpg b/_src/_assets/img/board/david-holtzman.jpg new file mode 100755 index 0000000..af971d0 Binary files /dev/null and b/_src/_assets/img/board/david-holtzman.jpg differ diff --git a/_src/_assets/img/board/elfriede-sixt.jpg b/_src/_assets/img/board/elfriede-sixt.jpg new file mode 100644 index 0000000..f54bc28 Binary files /dev/null and b/_src/_assets/img/board/elfriede-sixt.jpg differ diff --git a/_src/_assets/img/board/greg-mcmullen.jpg b/_src/_assets/img/board/greg-mcmullen.jpg new file mode 100755 index 0000000..eb854ac Binary files /dev/null and b/_src/_assets/img/board/greg-mcmullen.jpg differ diff --git a/_src/_assets/img/board/joachim-lohkamp.jpg b/_src/_assets/img/board/joachim-lohkamp.jpg new file mode 100644 index 0000000..52e3939 Binary files /dev/null and b/_src/_assets/img/board/joachim-lohkamp.jpg differ diff --git a/_src/_assets/img/board/nina-luisa-siedler.jpg b/_src/_assets/img/board/nina-luisa-siedler.jpg new file mode 100755 index 0000000..c15c7ec Binary files /dev/null and b/_src/_assets/img/board/nina-luisa-siedler.jpg differ diff --git a/_src/_assets/img/board/thomas-fuerstner.jpg b/_src/_assets/img/board/thomas-fuerstner.jpg new file mode 100644 index 0000000..b4256d4 Binary files /dev/null and b/_src/_assets/img/board/thomas-fuerstner.jpg differ diff --git a/_src/_assets/img/icon-meetup.svg b/_src/_assets/img/icon-meetup.svg new file mode 100644 index 0000000..c4fbfdd --- /dev/null +++ b/_src/_assets/img/icon-meetup.svg @@ -0,0 +1,3 @@ + + + diff --git a/_src/_assets/img/logo-dyne-org.svg b/_src/_assets/img/logo-dyne-org.svg deleted file mode 100644 index e50ebb9..0000000 --- a/_src/_assets/img/logo-dyne-org.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/_src/_assets/img/logo-jolocom.svg b/_src/_assets/img/logo-jolocom.svg new file mode 100644 index 0000000..fb9d2d8 --- /dev/null +++ b/_src/_assets/img/logo-jolocom.svg @@ -0,0 +1,3 @@ + + + diff --git a/_src/_assets/img/logo-openmedia.svg b/_src/_assets/img/logo-openmedia.svg deleted file mode 100644 index c808a23..0000000 --- a/_src/_assets/img/logo-openmedia.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/_src/_assets/img/logo-riddle-and-code.svg b/_src/_assets/img/logo-riddle-and-code.svg new file mode 100644 index 0000000..12398f7 --- /dev/null +++ b/_src/_assets/img/logo-riddle-and-code.svg @@ -0,0 +1,3 @@ + + + diff --git a/_src/_assets/scss/_caretakers.scss b/_src/_assets/scss/_caretakers.scss index cf05958..937d053 100644 --- a/_src/_assets/scss/_caretakers.scss +++ b/_src/_assets/scss/_caretakers.scss @@ -52,6 +52,10 @@ transform: scale(1.2); } +.logo-caretaker--riddle-and-code { + transform: scale(1.2); +} + // // The logo fallback // diff --git a/_src/_assets/scss/_oceanprotocol.scss b/_src/_assets/scss/banner.scss similarity index 70% rename from _src/_assets/scss/_oceanprotocol.scss rename to _src/_assets/scss/banner.scss index c748a30..358b9db 100644 --- a/_src/_assets/scss/_oceanprotocol.scss +++ b/_src/_assets/scss/banner.scss @@ -1,8 +1,8 @@ -.oceanprotocol { +.banner { display: block; box-shadow: none; height: 100%; - background: #141414; + background: $brand-01; padding-top: $spacer / 2; padding-bottom: $spacer / 2; @@ -10,12 +10,12 @@ &:focus { background: #fff; - .oceanprotocol__title { + .banner__title { opacity: 1; color: #141414; } - .oceanprotocol__logo { + .banner__logo { fill: #141414; } } @@ -28,22 +28,21 @@ } } -.oceanprotocol__title { - font-size: .65rem; +.banner__title { + font-size: .7rem; margin: 0; - opacity: .8; color: #fff; @media ($screen-sm) { - font-size: .75rem; + font-size: $font-size-small; } } -.oceanprotocol__logo { +.banner__logo { fill: #fff; width: 1rem; height: 1rem; margin-right: $spacer / 4; - margin-bottom: -.3rem; + margin-bottom: -.2rem; display: inline-block; } diff --git a/_src/_assets/scss/ipdb.scss b/_src/_assets/scss/ipdb.scss index c5f8833..a5d9e7a 100644 --- a/_src/_assets/scss/ipdb.scss +++ b/_src/_assets/scss/ipdb.scss @@ -19,7 +19,7 @@ @import 'alerts'; @import 'cookiebanner'; @import 'syntax'; -@import 'oceanprotocol'; +@import 'banner'; .content--page--markdown { padding-top: $spacer * 2; diff --git a/_src/_assets/scss/page-front.scss b/_src/_assets/scss/page-front.scss index 0075839..8e7b0e8 100644 --- a/_src/_assets/scss/page-front.scss +++ b/_src/_assets/scss/page-front.scss @@ -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 { diff --git a/_src/_data/board.yml b/_src/_data/board.yml new file mode 100755 index 0000000..a23622f --- /dev/null +++ b/_src/_data/board.yml @@ -0,0 +1,81 @@ +# +# 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: Joachim Lohkamp + position: President + + bio: | + Joachim Lohkamp is an entrepreneur and tech-enthusiast with a heart for activism. As the founder of Jolocom, he has been working at the forefront of the decentralization movement in Berlin since 2014. With Jolocom, he is providing the identity solution that will enable real world use cases in smart contract based business models. + + To ultimately harvest this potential and inform innovation aimed regulation, he co-founded the German Blockchain Association (Bundesblock) that establishes the dialogue between blockchain businesses and politics. He is further active as an advisor for BlockchainHub, a decentralized Think Tank and as a Connector for OuiShare. Finally, you might find him as the Organizer of events like GetDecentralized, Decentralized Web Summit among others. + + social: + - name: Twitter + link: https://twitter.com/JockelLohkamp + - name: LinkedIn + link: https://www.linkedin.com/in/joachimlohkamp/ + + +- name: Thomas Fürstner + position: General Secretary + bio: | + Tom Fürstner is a research scientist and university professor with over 30 years of experience in formal logic, social economy theory and digital art. Tom is the founder and CTO of Riddle & Code, a company focused on developing dedicated hardware for the physical internet and public ledger systems. + + These days, he is working on hardened server systems for operating BigchainDB and IPFS. The aim is to enable sustainable and resilient identity services in an emerging world of shared sovereignty between humans, machines, algorithms and protocols. + + social: + - name: LinkedIn + link: https://www.linkedin.com/in/thomas-fuerstner-0797592/ + + +- name: Elfriede Sixt + position: Treasurer + bio: | + Elfriede Sixt believes in the disruptive potential of decentralized peer-to-peer networks and blockchains. She is curious to learn how industries and business models will change along this way. + + Elfriede Sixt is a blogger and book author writing about crowdfunding, blockchains, and regulation. Her background is in Business administration and corporate finance. Besides that she is a founder of fintech.academy as well as ebit4u. + + social: + - name: Twitter + link: https://twitter.com/ebit4u + - name: LinkedIn + link: https://www.linkedin.com/in/elfriede-sixt-05384719/ + + +- name: David Holtzman + position: Member-at-Large + + 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: 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 + diff --git a/_src/_data/caretakers.yml b/_src/_data/caretakers.yml new file mode 100755 index 0000000..550a596 --- /dev/null +++ b/_src/_data/caretakers.yml @@ -0,0 +1,42 @@ +- name: Jolocom + link: http://jolocom.io + +- name: Riddle And Code + link: https://www.riddleandcode.com + +- name: COALA + link: http://coala.global + +- name: Internet Archive + link: https://archive.org + +- name: Human Data Commons Foundation + link: https://humandatacommons.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: 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 diff --git a/_src/_data/colors.yml b/_src/_data/colors.yml old mode 100644 new mode 100755 diff --git a/_src/_data/contact.yml b/_src/_data/contact.yml old mode 100644 new mode 100755 index 34de2ac..78ffe3c --- a/_src/_data/contact.yml +++ b/_src/_data/contact.yml @@ -1,21 +1,19 @@ company: "Interplanetary Database Foundation e.V." -registration: "Registration VR 36146 B" +registration: "Amtsgericht: VR 36146 B" address: - street: "Wichertstraße 14a" - zip: "10439" + street: "Köpenicker Strasse 154" + zip: "10997" city: "Berlin" country: "Germany" -email: "contact@ipdb.io" -email_caretakers: "caretakers@ipdb.io" +email: "contact@ipdb.global" +email_caretakers: "contact@ipdb.global" # All the social links social: - name: "Twitter" link: "https://twitter.com/ipdbfoundation" - - name: "Facebook" - link: "https://facebook.com/ipdbfoundation" - name: "LinkedIn" - link: "https://www.linkedin.com/company/7963161" + link: "https://www.linkedin.com/company/interplanetary-database-foundation-ipdb/" - name: "GitHub" link: "https://github.com/ipdb" org: "ipdb" diff --git a/_src/_data/content-foundation.yml b/_src/_data/content-foundation.yml new file mode 100755 index 0000000..72fb9fb --- /dev/null +++ b/_src/_data/content-foundation.yml @@ -0,0 +1,34 @@ +intro: | + Building a decentralized organization that runs smoothly is not easy. We’ve 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 Meetup](https://www.meetup.com/blockchain-and-identity/) 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. diff --git a/_src/_data/content-front.yml b/_src/_data/content-front.yml old mode 100644 new mode 100755 index 7478e07..0eeb719 --- a/_src/_data/content-front.yml +++ b/_src/_data/content-front.yml @@ -3,28 +3,11 @@ 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. - - We’ve 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. We’ve been driven by the dreams of what you’ll 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." text: | - IPDB is a planetary-scale blockchain database built on [BigchainDB](https://www.bigchaindb.com). It’s a ready-to-use public network with a focus on strong governance. It shares all the features of BigchainDB to make developers’ lives easier. + IPDB is a planetary-scale blockchain database built on BigchainDB. It’s a ready-to-use public network with a focus on strong governance. It shares all the features of BigchainDB to make developers’ lives easier. features: - title: "A single public database" diff --git a/_src/_data/faq.yml b/_src/_data/faq.yml new file mode 100755 index 0000000..f0f38b8 --- /dev/null +++ b/_src/_data/faq.yml @@ -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. 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 don’t 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 IPDB’s 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 Foundation’s 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 you’re 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, 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. diff --git a/_src/_data/menus.yml b/_src/_data/menus.yml old mode 100644 new mode 100755 index 61a0c04..0dd93b6 --- a/_src/_data/menus.yml +++ b/_src/_data/menus.yml @@ -1,9 +1,19 @@ main: + - title: Foundation + url: /foundation/ - title: Contact url: /contact/ +footer: + - title: FAQ + url: /faq/ + - title: Blog + url: https://medium.com/ipdb-blog + legal: - - title: Contact - url: /contact/ + - title: Terms + url: /terms/ + - title: Privacy + url: /privacy/ - title: Imprint url: /imprint/ diff --git a/_src/_includes/banner.html b/_src/_includes/banner.html new file mode 100755 index 0000000..e49437c --- /dev/null +++ b/_src/_includes/banner.html @@ -0,0 +1,9 @@ + diff --git a/_src/_includes/board.html b/_src/_includes/board.html new file mode 100755 index 0000000..84f885b --- /dev/null +++ b/_src/_includes/board.html @@ -0,0 +1,41 @@ +
+ + {% assign board = site.data.board %} + + {% for member in board %} + + {% assign slug = (member.name | downcase | replace: ' ', '-' | replace: 'ü', 'ue') %} + +
+
+
+ + +
+

+ {% if member.prefix %}{{ member.prefix }} {% endif %} + {{ member.name }} +

+

{{ member.position }}

+ + {% if member.social %} + + {% endif %} +
+
+ +
{{ member.bio | markdownify }}
+
+
+ + {% endfor %} +
diff --git a/_src/_includes/caretakers.html b/_src/_includes/caretakers.html new file mode 100755 index 0000000..a5cff96 --- /dev/null +++ b/_src/_includes/caretakers.html @@ -0,0 +1,24 @@ +
+ + {% assign caretakers = (site.data.caretakers | sort: 'name') %} + + {% for caretaker in caretakers %} + + {% assign slug = (caretaker.name | downcase | replace: ' ', '-' | replace: '.', '-') %} + +
+ + {% if caretaker.logo == false %} + {{ caretaker.name }} + {% else %} + + {{ caretaker.name }} + + + {% endif %} + + +
+ + {% endfor %} +
diff --git a/_src/_includes/contact.html b/_src/_includes/contact.html old mode 100644 new mode 100755 index ce3cdc5..8561c4b --- a/_src/_includes/contact.html +++ b/_src/_includes/contact.html @@ -20,3 +20,16 @@ {{ contact.address.country }}

+ + diff --git a/_src/_includes/footer.html b/_src/_includes/footer.html old mode 100644 new mode 100755 diff --git a/_src/_includes/form-contact.html b/_src/_includes/form-contact.html old mode 100644 new mode 100755 diff --git a/_src/_includes/form-newsletter.html b/_src/_includes/form-newsletter.html new file mode 100755 index 0000000..3babf30 --- /dev/null +++ b/_src/_includes/form-newsletter.html @@ -0,0 +1,12 @@ +
+
+ + +
+ + +
+ + We will never use the contact information you submit for anything except delivering our newsletter. +
+
diff --git a/_src/_includes/head.html b/_src/_includes/head.html old mode 100644 new mode 100755 diff --git a/_src/_includes/header.html b/_src/_includes/header.html old mode 100644 new mode 100755 index e3e6e2a..e8301a6 --- a/_src/_includes/header.html +++ b/_src/_includes/header.html @@ -1,5 +1,3 @@ -{% include oceanprotocol.html %} - {% include menu-main.html %}
diff --git a/_src/_includes/menu-footer.html b/_src/_includes/menu-footer.html old mode 100644 new mode 100755 index fe9c7e7..822129d --- a/_src/_includes/menu-footer.html +++ b/_src/_includes/menu-footer.html @@ -10,6 +10,17 @@ +
+ {% for link in site.data.menus.main %} + {% assign active = nil %} + {% if page.url contains link.url %} + {% assign active = 'active' %} + {% endif %} + + {{ link.title }} + {% endfor %} +
+
{% for link in site.data.menus.footer %} {% assign active = nil %} @@ -21,5 +32,18 @@ {% endfor %}
+
+ + +
diff --git a/_src/_includes/menu-foundation.html b/_src/_includes/menu-foundation.html new file mode 100755 index 0000000..f2f1743 --- /dev/null +++ b/_src/_includes/menu-foundation.html @@ -0,0 +1,28 @@ + diff --git a/_src/_includes/menu-main.html b/_src/_includes/menu-main.html old mode 100644 new mode 100755 index 89cd34d..f31d14a --- a/_src/_includes/menu-main.html +++ b/_src/_includes/menu-main.html @@ -2,7 +2,10 @@
@@ -11,12 +14,12 @@ diff --git a/_src/_includes/oceanprotocol.html b/_src/_includes/oceanprotocol.html deleted file mode 100644 index 3b0753b..0000000 --- a/_src/_includes/oceanprotocol.html +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/_src/_includes/scripts.html b/_src/_includes/scripts.html old mode 100644 new mode 100755 diff --git a/_src/_includes/sharing.html b/_src/_includes/sharing.html old mode 100644 new mode 100755 diff --git a/_src/faq.html b/_src/faq.html new file mode 100755 index 0000000..5da7155 --- /dev/null +++ b/_src/faq.html @@ -0,0 +1,31 @@ +--- +layout: page + +title: Frequently Asked Questions +subtitle: Get answers to your most pressing questions + +css: page-faq +--- + +{% capture email_caretakers %}{{ site.data.contact.email_caretakers }}{% endcapture %} + +
+
+ +
+ {% for faq in site.data.faq %} +

{{ faq.question }}

+ {% endfor %} +
+ +
+ {% for faq in site.data.faq %} + {% assign id = faq.question | downcase | replace: ' ','-' | replace: '?', '' %} + +

# {{ faq.question }}

+
{{ faq.answer | replace: '!EMAIL_CARETAKERS!', email_caretakers | markdownify }}
+ {% endfor %} +
+ +
+
diff --git a/_src/foundation/articles.md b/_src/foundation/articles.md new file mode 100755 index 0000000..480422a --- /dev/null +++ b/_src/foundation/articles.md @@ -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/ +--- + +
+ IPDB Foundation is registered as a non-profit in Germany. The English version of this document is for information only. The German version is legally binding. +
+ +*Coming soon...* diff --git a/_src/foundation/bylaws.md b/_src/foundation/bylaws.md new file mode 100755 index 0000000..d93d5fc --- /dev/null +++ b/_src/foundation/bylaws.md @@ -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 Staff’s point of contact for that Caretaker, with the authority to vote on the Caretaker’s 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 Member’s 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 Representative’s 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 Foundation’s 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 Board’s 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 Board’s 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 Caretaker’s 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. diff --git a/_src/foundation/index.html b/_src/foundation/index.html new file mode 100755 index 0000000..c5c40fc --- /dev/null +++ b/_src/foundation/index.html @@ -0,0 +1,120 @@ +--- +layout: page + +title: Foundation & governance + +css: page-foundation +--- + +{% assign content = site.data.content-foundation %} + +
+
+
+
+
+
{{ content.intro | markdownify }}
+
+
+ + IPDB Governance + + +
+
+
+
+
+ +
+
+
+
+
+

{{ content.caretakers.title }}

+

{{ content.caretakers.description }}

+
+
+
+
+ +
+
+ {% for feature in content.caretakers.features %} +
+
+ + IPDB Governance + + +

{{ feature.title }}

+

{{ feature.description }}

+
+
+ {% endfor %} +
+
+ +
+
+
+

{{ content.caretakers.members.title }}

+

{{ content.caretakers.members.description }}

+
+
+ + {% include caretakers.html %} +
+ + +
+ +
+
+
+
+
+

{{ content.board.title }}

+

{{ content.board.description }}

+
+
+
+
+ +
+ {% include board.html %} +
+
+ +
+
+
+
+
+

{{ content.vision.title }}

+

{{ content.vision.description }}

+
+
+
+
+ +
+
+
+
+ + + +
+
+
+ {{ content.vision.text | markdownify }} +
+
+
+
diff --git a/_src/foundation/satzung.md b/_src/foundation/satzung.md new file mode 100755 index 0000000..a902271 --- /dev/null +++ b/_src/foundation/satzung.md @@ -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/ +--- + +
+ This document is also available in English. +
+ +*In Arbeit...* diff --git a/_src/index.html b/_src/index.html index 99030c8..3c2301b 100644 --- a/_src/index.html +++ b/_src/index.html @@ -6,21 +6,13 @@ front_page: true css: page-front redirect_from: -- /foundation/ -- /foundation/articles/ -- /foundation/satzung/ -- /foundation/bylaws/ - /docs/ - /jobs/ -- /privacy/ -- /terms/ -- /faq/ -- /canary/ --- {% assign content = site.data.content-front %} -{% include oceanprotocol.html %} +{% include banner.html %}
@@ -64,22 +56,120 @@ redirect_from:
-
+
+

{{ content.connect.blog_title }}

+
{% for article in site.articles limit: 4 %} diff --git a/_src/privacy.md b/_src/privacy.md new file mode 100755 index 0000000..70193c5 --- /dev/null +++ b/_src/privacy.md @@ -0,0 +1,57 @@ +--- +layout: page + +title: Privacy policy + +narrow: true +--- + +_Last updated: 2018/05/19_ + +This notice falls under the [General Data Protection Regulation (GDPR)](https://www.eugdpr.org/). + +## Who we are + +{% include contact.html imprint="true" %} + +## How to contact us + +We can be reached via the contact information on our website. + +## Personal data we collect + +- email address; +- names; +- IP; +- newsletter: opens, clicks, opt-ins. + +## Consent to collect + +We store data from users that have submitted information via our contact form. +After a user submits a request to receive updates, we ask for additional consent from the user via email, i.e. we ask the user to confirm the request to receive updates. + +## Your data, your rights + +- You can request a copy of your data which we will provide within 30 days; +- We strive to keep our service secure, and in the event of a data breach or misuse, we will inform our users of the incident as well as the steps we have taken to ameliorate the situation within 30 days. + +## Services and third parties where IPDB stores data + +IPDB relies on a limited number of third-party services to maintain its own services. IPDB never shares or resell any of its data. We store your email address and name on the following third-party services (which offer secure, privacy-focused storage solutions): + +- [Sender](http://sender.net/) + +## Newsletter & account statistics and reporting + +IPDB records behavioural data, such as opens and clicks, for emails we distribute to our subscribers via Sender. + +## Length of data collection + +IPDB will keep identifiable data for an undetermined amount of time or until the user asks us to anonymize and / or delete his data. + +## Who has access to our data? + +Data at IPDB is not shared with or sold to any third party. +IPDB staff and contractors retain access to users’ data for the exclusive purpose of electronic communications. + +No personal identifiable data is stored on staff or contractor computers on a permanent basis. Contractors are requested to delete this data at the end of their work agreement. diff --git a/_src/styleguide.md b/_src/styleguide.md index 440233d..7d1bfd8 100644 --- a/_src/styleguide.md +++ b/_src/styleguide.md @@ -25,7 +25,7 @@ narrow: true ## The blockchain database network for the decentralized stack -IPDB is a planetary-scale blockchain database built on [BigchainDB](https://www.bigchaindb.com). It’s a ready-to-use public network with a focus on **strong governance**. It shares _all the features_ of BigchainDB to make developers’ lives easier. +IPDB is a planetary-scale blockchain database built on BigchainDB. It’s a ready-to-use public network with a focus on **strong governance**. It shares _all the features_ of BigchainDB to make developers’ lives easier. ### Maecenas sed diam eget risus diff --git a/_src/terms.md b/_src/terms.md new file mode 100755 index 0000000..63aa3b3 --- /dev/null +++ b/_src/terms.md @@ -0,0 +1,9 @@ +--- +layout: page + +title: IPDB Terms of Service + +narrow: true +--- + +*Coming soon...* diff --git a/package.json b/package.json index 43f98b0..93f55e5 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,7 @@ "gulp-sourcemaps": "^2.6.4", "gulp-svg-sprite": "^1.5.0", "gulp-uglify": "^3.0.1", + "gulp-util": "^3.0.8", "js-yaml": "^3.12.0", "minimist": "^1.2.0", "request": "^2.88.0",