<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="../part2stratml.xsl"?><StrategicPlan><Name>About Crosscloud</Name><Description>Our goal is to make it so building open/decentralized software is not prohibitively more difficult than building closed/centralized systems. For example, in today's world if someone wanted to create a way for people to play chess online (via mobile apps, websites, etc) nearly all developers would do it in a closed/centralized way. If crosscloud technology were prevalent, a developer might quite reasonably build a decentralized system, knowing it would be comparatively easy to build and maintain...There are social, legal, and business aspects of this goal, but as our expertise is computer science, we are primarily concerned with technical considerations. Of course, we hope over time people with all the necessary expertise will come forward and help address all aspects of the challenge.</Description><OtherInformation>The Challenge -- Around the world, as people increasingly use computer applications not just in their jobs but to automate and connect more and more elements of their lives, they are discovering that along with the benefits come considerable risk and frustration. As people move their lives online, the limitations of their software become limitations in their lives, yet the prevailing software architecture renders them unable to find or create other options. These limitations have broad impacts across the world, as technology solutions increasingly move toward venture capital and solutions which are easy to monetize, instead of directly providing what people want or need.Our goal with Crosscloud is to create a world where people have better options...</OtherInformation><StrategicPlanCore><Organization><Name>Crosscloud</Name><Acronym>CC4</Acronym><Identifier>_3fb39dc6-08f9-11e6-a4b3-699f45c7ae33</Identifier><Description/><Stakeholder StakeholderTypeType="Generic_Group"><Name>Crosscloud Team</Name><Description/></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Ashraf Aboulnaga</Name><Description>QCRI Research Director, Distributed Systems</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Tim Berners-Lee</Name><Description>MIT Professor</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Sarven Capadisli</Name><Description>MIT Visting PhD Student, from University of Bonn</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Abdurrahman Ghanem</Name><Description>QCRI Software Engineer</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Nicola Greco</Name><Description>MIT PhD Student</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Amy Guy</Name><Description>MIT Visiting PhD Student, from University of Edinburgh</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Sandro Hawke</Name><Description>MIT, Technical Staff</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Lalana Kagal</Name><Description>MIT Principal Research Scientist</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Essam Mansour</Name><Description>QCRI Senior Software Engineer</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Andrei Sambra</Name><Description>MIT Postdoctoral Associate</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Dmitri Zagidulin</Name><Description>MIT Technical Staff</Description></Stakeholder><Stakeholder StakeholderTypeType="Person"><Name>Maged Zereba </Name><Description>QCRI Senior Software Engineer</Description></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>Crosscloud Sponsors</Name><Description>We are grateful for financial support in partnership with these foward-thinking organizations.</Description></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>Knight Foundation</Name><Description/></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>National Science Foundation</Name><Description/></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>MacArthur Foundation</Name><Description/></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>Qatar Computing Research Institute</Name><Description>Located in Doha, Qatar, QCRI is an emerging leader in computing research, with over 100 experts from more than 25 countries. The distributed system group has openings for software developers and computer scientists eager to take on the challenges of this project.</Description></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>MasterCard</Name><Description/></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>Computer Science and Artificial Intelligence Laboratory</Name><Description>Located near Boston, Massachusetts, MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) is a global pioneer in computing.</Description></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>Pod Owners</Name><Description>A pod's "owner" is the person (or organization) who the pod operates on behalf of and who generally owns the data on the pod.</Description></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>Pod Providers</Name><Description>A pod "provider" is someone who keeps the pod functioning properly and may own the hardware the pod runs on (but there may be a IaaS provider who owns the hardware). Pod owner and provider are similar to tenant and landlord.</Description></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>github</Name><Description>We've active on github, especially near the solid/solid repo. Raising and helping close issues is a great way to give us feedback and let us know you care.Some of our older projects are at https://github.com/linkeddata.</Description></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>gitter</Name><Description>Chat -- Mostly these days we're available for online discussion using gitter, on the channels associated with the active repos. For general discussion, use https://gitter.im/solid/chat.</Description></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>W3C</Name><Description>We're active in various W3C community groups and working groups, especially the Social Web Working Group.</Description></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>MIT Students</Name><Description>Students -- If you're an MIT student, or a prospective MIT student, please let us know about your interest in this project. UROP, UAP, MEng, and PhD RA opportunities are often available. Contact: crosscloud-jobs@csail.mit.edu.</Description></Stakeholder></Organization><Vision><Description>... a world where people have better options.</Description><Identifier>_3fb39ed4-08f9-11e6-a4b3-699f45c7ae33</Identifier></Vision><Mission><Description>To make open systems technologically practical.</Description><Identifier>_3fb39ed5-08f9-11e6-a4b3-699f45c7ae33</Identifier></Mission><Value><Name>Low Switching Cost</Name><Description>Today, in a world of cloud-hosted software, every application is a kind of trap. Even if it lets you export your data in a form other systems can read, many of the best apps have social features. You can't switch because your friends or colleagues are still using the old site -- the new site will be a ghost town.</Description></Value><Value><Name>Competition</Name><Description>This stifles competition, blocks innovation, and leaves users less happy with the systems they are using. While some developers might want to lock-in users, we trust that many value user happiness and would open their systems if it was technologically practical. Our goal is to make it practical.</Description></Value><Value><Name>Innovation</Name><Description/></Value><Value><Name>User Satisfaction</Name><Description/></Value><Value><Name>Practicality</Name><Description/></Value><Value><Name>Openness</Name><Description>The features of an open/decentralized system:1. A user can switch to competing software painlessly (without losing any work or relationships)2. There are no inherent bottlenecks, single points of control, or single points of failure.3. Systems can change and improve over time, not subject to anyone’s control, agreement, or coordination</Description></Value><Value><Name>Decentralization</Name><Description/></Value><Value><Name>Research</Name><Description>Technical Approach -- While there remains much research to be done, we are relatively confident in this approach:</Description></Value><Value><Name>Statelessness</Name><Description>Crosscloud apps are stateless software, using separate data repositories ("pods", from "personal online data”), which might be remote across a network.Pods stand in for users, acting as their data storage agents. If a group of people are using some app, the app stores its data on the pods of those people.</Description></Value><Value><Name>Interoperability</Name><Description>Data is stored by apps on pods in a form that supports interoperability, so that users can use different apps, developed independently, with the same data.</Description></Value><Value><Name>Independence</Name><Description/></Value><Value><Name>Data Integration</Name><Description>We want individuals ... to be able to easily integrate data relevant to their health, whether it comes from their exercise tracker, the restaurants they visit, their bathroom scale, or a medical testing lab.</Description></Value><Value><Name>Data Sharing</Name><Description>We want them to be able to share this data with their doctor and other caregivers, and also to be able to run a variety of commercial and noncommercial analytic software, mining their own data, all without significant risk to their privacy.</Description></Value><Value><Name>Analysis</Name><Description/></Value><Value><Name>Data Mining</Name><Description/></Value><Value><Name>Privacy</Name><Description/></Value><Value><Name>Personal Data Management</Name><Description>The Crosscloud approach uses personal data management, but it has impacts far beyond personal subjects like health.</Description></Value><Value><Name>Connection</Name><Description>For instance, we aim for small businesses to be able to connect with their customers based on mutually beneficial relationships, not subject to shifting winds in social media companies and search engines, but simply making use of data each is willing to share with each other.</Description></Value><Value><Name>Relationships</Name><Description/></Value><Value><Name>Local Resources</Name><Description>We want emergency workers to be able to gather all available local resources and necessary data on survivors, even when the infrastructure is damaged, without opening the door to abuse in non-crisis times.</Description></Value><Value><Name>Social Ties</Name><Description>Perhaps most importantly, we want the software developer who has an idea which will help the world to be able to deploy it quickly and widely, not forcing people to break social ties or move entire communities at once just to try out a new system.</Description></Value><Value><Name>Distributed Benefits</Name><Description>Fundamentally, we want the "next Facebook" to be not another $100 billion company but a sea of different apps, from different creators, each well-suited to its users, serving its own market niche, all cooperating to provide an integrated user experience that empowers people around the world.</Description></Value><Value><Name>Creativity</Name><Description/></Value><Value><Name>Cooperation</Name><Description/></Value><Value><Name>Integration</Name><Description/></Value><Value><Name>Empowerment</Name><Description/></Value><Goal><Name>Application Data Management</Name><Description/><Identifier>_3fb39ed6-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>Area 1</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation/><Objective><Name>Data Distribution</Name><Description>Determine how apps can read/write to appropriate pods.</Description><Identifier>_3fb39ed7-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>1.1</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How do apps read/write to appropriate pods?Currently: https, ldp, hierarchical containers</OtherInformation></Objective><Objective><Name>Authentication/Authorization</Name><Description>Appropriately control which users can do what.</Description><Identifier>_3fb39ed8-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>1.2</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How to control which users can do what?Currently: webid-tls, wac</OtherInformation></Objective><Objective><Name>Data Representation</Name><Description>Identify models, formats, and vocabularies to be used to support interoperability.</Description><Identifier>_3fb39ed9-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>1.3</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>What models / formats / vocabularies is used for interop?Currently: RDF, turtle, foaf, pim, webid</OtherInformation></Objective><Objective><Name>Application Integration</Name><Description>Share data among apps.</Description><Identifier>_3fb39f2e-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>1.4</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How do apps share data with each other?Currently: they all access a shared filesystem-like structure and use same RDF vocabs</OtherInformation></Objective><Objective><Name>Query Scaling</Name><Description>Obtain necessary data from all relevant users.</Description><Identifier>_3fb3a014-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>1.5</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How do applications obtain necessary data from all relevant users?Currently: link-following SPARQL</OtherInformation></Objective></Goal><Goal><Name>Trustworthy Computing</Name><Description/><Identifier>_3fb3a118-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>Area 2</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation/><Objective><Name>Security</Name><Description>Protect users from harm.</Description><Identifier>_3fb3a1f4-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.1</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>Protect users from harm due to their systems being compromised.</OtherInformation></Objective><Objective><Name>Best Practices</Name><Description>Use web app best practices.</Description><Identifier>_3fb3a2da-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.1.1</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation/></Objective><Objective><Name>Encryption</Name><Description>Use encryption to reduce attack surface</Description><Identifier>_3fb3a3ca-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.1.2</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation/></Objective><Objective><Name>Privacy</Name><Description>Give users control over information about themselves.</Description><Identifier>_3fb3a4c4-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.2</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>Give users appropriate control over information about themselves.allow people to select pod providers largely on privacy policies</OtherInformation></Objective><Objective><Name>Jailing</Name><Description>Limit exposure to malicious or broken apps.</Description><Identifier>_3fb3a5aa-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.3</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How to limit the exposure to harm from malicious or broken apps.technologies include caja, cowl, iframes, web workers, ses</OtherInformation></Objective><Objective><Name>Provenance</Name><Description>Sort data by quality and accuracy.</Description><Identifier>_3fb3a6b8-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.4</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How to sort through data with various levels of quality and accuracy?needs support throughout infrastructure, plus UI conventions</OtherInformation></Objective><Objective><Name>Infrastructure</Name><Description>Support provenance throughout infrastructure.</Description><Identifier>_3fb3a79e-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.4.1</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation/></Objective><Objective><Name>UI Conventions</Name><Description>Support provenance through UI conventions.</Description><Identifier>_3fb3a88e-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.4.2</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation/></Objective><Objective><Name>Availability</Name><Description>Design for reliability for critical use.</Description><Identifier>_3fb3a97e-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.5</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How to design for sufficient reliability enough for critical use?</OtherInformation></Objective><Objective><Name>Parallel Configuration</Name><Description>Allow pods to be configured in parallel</Description><Identifier>_3fb3aa64-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>2.5.1</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation/></Objective></Goal><Goal><Name>Sustainable Systems</Name><Description/><Identifier>_3fb3ab5e-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>Area 3</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation/><Objective><Name>App Developers</Name><Description>Attract, engage, empower and retain application developers.</Description><Identifier>_3fb3ac62-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.1</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>App Developers</Name><Description/></Stakeholder><OtherInformation>How will app devs be attracted, engaged, empowered, and retained?</OtherInformation></Objective><Objective><Name>Specifications</Name><Description>Provide clear specs</Description><Identifier>_3fb3ad48-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.1.1</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name/><Description/></Stakeholder><OtherInformation/></Objective><Objective><Name>Libraries</Name><Description>Provide client libraries.</Description><Identifier>_3fb3ae38-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.1.2</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name/><Description/></Stakeholder><OtherInformation/></Objective><Objective><Name>Reference Applications</Name><Description>Provide reference applications.</Description><Identifier>_3fb3af32-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.1.3</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name/><Description/></Stakeholder><OtherInformation/></Objective><Objective><Name>Conversion Ecosystem</Name><Description>Bridge between apps that use different vocabularies.</Description><Identifier>_3fb3b022-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.2</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How to bridge between apps that don’t want the same vocab?</OtherInformation></Objective><Objective><Name>Rules / Shims</Name><Description>Apply conversion rules/shims.</Description><Identifier>_3fb3b112-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.2.1</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>Contributed conversion rules/shims, arranged on demand.</OtherInformation></Objective><Objective><Name>Community Integration</Name><Description>Facilitate participation by stakeholders.</Description><Identifier>_3fb3b2de-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.3</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>github</Name><Description/></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>W3C</Name><Description/></Stakeholder><OtherInformation>How to allow full participation by all stakeholders?Participating in open processes on github and at W3C</OtherInformation></Objective><Objective><Name>Economics</Name><Description>Design economic incentives to support Pod systems.</Description><Identifier>_3fb3b400-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.4</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How will each participant have suitable economic incentives, over time?</OtherInformation></Objective><Objective><Name>Advertising</Name><Description>Shift away advertising.</Description><Identifier>_3fb3b50e-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.4.1</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>shift business model away from mandatory targeted advertising</OtherInformation></Objective><Objective><Name>Legal / Policy</Name><Description>Determine how legal structures can protect or threaten Pod systems.</Description><Identifier>_3fb3b626-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.5</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How can legal structures help protect or threaten these systems?</OtherInformation></Objective><Objective><Name>End-User Experience (UX)</Name><Description>Determine how people will be affected by Pod systems.</Description><Identifier>_3fb3b734-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.6</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>How will people be consciously and unconsciously be affected?</OtherInformation></Objective><Objective><Name>Adoption</Name><Description>Keep people flowing through the user-adoption funnel.</Description><Identifier>_3fb3b82e-08f9-11e6-a4b3-699f45c7ae33</Identifier><SequenceIndicator>3.7</SequenceIndicator><Stakeholder><Name/><Description/></Stakeholder><OtherInformation>What will keep people flowing through each stage of a user-adoption funnel?</OtherInformation></Objective></Goal></StrategicPlanCore><AdministrativeInformation><PublicationDate>2016-04-22</PublicationDate><Source>http://crosscloud.org/</Source><Submitter><GivenName>Owen</GivenName><Surname>Ambur</Surname><PhoneNumber/><EmailAddress>Owen.Ambur@verizon.net</EmailAddress></Submitter></AdministrativeInformation></StrategicPlan>
