Commit f656d87b authored by Stephan Kreutzer's avatar Stephan Kreutzer

Example 'Development Process 2' added.

parent b9b23548
......@@ -89,7 +89,7 @@ under the Creative Commons Attribution-ShareAlike 4.0 International
</Effect>
</Issue>
<Issue id="19">
<Title>SOS Formats differ</Title>
<Title>SOS formats differ</Title>
<Text>Stephan Kreutzer’s example files differ from William Charlton’s example files. Stephan Kreutzer’s prototypes expect a different format than William Charlton’s prototypes expect. Stephan Kreutzer’s example files don’t validate according to the official XSD.</Text>
<Cause id="20">
<Title>Bootstrapping</Title>
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2019 Stephan Kreutzer
This file is licensed under the GNU Affero General Public License 3
(https://www.gnu.org/licenses/agpl-3.0.html) + any later version and/or
under the Creative Commons Attribution-ShareAlike 4.0 International
(https://creativecommons.org/licenses/by-sa/4.0/legalcode).
-->
<SOS xmlns="http://www.untiednations.com/SOS" Language="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.untiednations.com/SOS http://www.untiednations.com/XML/SOSMeeting1.xsd">
<POI ID="30" Type="Effect">
<Parent Parent-ID="8"/>
<Title>Grid Prototype 1 interface doesn’t allow navigation to groups of POIs other than the current one if they’re not connected</Title>
<Text>The grid interface to navigate/traverse a graph/network doesn’t provide a way to reach from one group of connected POIs to another group of connected POIs if no POIs from the two separate groups share a connection between the groups. The only way to access separate groups is via the fragment identifier if the user knows the ID of a POI of the group, which is very inconvenient and not an interface control.</Text>
</POI>
<POI ID="1" Type="Effect">
<Parent Parent-ID="2"/>
<Parent Parent-ID="3"/>
<Parent Parent-ID="4"/>
<Title>The browser is sandboxed</Title>
<Text>Our prototypes are implemented in the browser. The issue is the “Same Origin Policy” and the problem that Cross-Origin Resource Sharing requires the cooperation of remote, external entities in advance.</Text>
</POI>
<POI ID="2" Type="Effect">
<Parent Parent-ID="13"/>
<Parent Parent-ID="20"/>
<Title>Remote code execution</Title>
<Text>The browser executes unchecked code retrieved from remote, external entities. Such code can be malicious. The browser needs to sandbox the execution in order to protect the computer from compromization. Reasons for it are that no software installation is required in advance (dynamic loading and execution on demand), and that the operating systems running the majority of browsers lack the concept of software distribution repositories where code is submitted and checked, as most of the remote code is proprietary, as well as the operating system that supports this model of denying digital freedom to the user, so the code must be obtained from the original author and can’t be fixed (if broken or malicious), to establish and maintain the dependency.</Text>
</POI>
<POI ID="13" Type="Effect">
<Title>Manual software installation is inconvenient</Title>
<Text></Text>
</POI>
<POI ID="20" Type="Effect">
<Title>Lock-in dependency on a single online server/domain/storage/service</Title>
<Text></Text>
</POI>
<POI ID="3" Type="Effect">
<Title>Leakage of confidential data</Title>
<Text>If the browser gets and executes unchecked code from various remote, external entities, it could send the confidential data hold by the other code back from where itself came from and leak it.</Text>
</POI>
<POI ID="4" Type="Effect">
<Parent Parent-ID="20"/>
<Title>Business model of online service dependency</Title>
<!--
No need to mention browser vendors explicitly, if formulated that the business model exists and
works some of the time, and it's implied by connection that some are engaged in it.
-->
<Text>Browser vendors tend to be engaged in some form of SaaS online service lock-in dependency business model, so it would harm their business interest if the sandbox wouldn’t enforce the use of these services and instead would allow to make use of local alternatives.</Text>
</POI>
<POI ID="5" Type="Effect">
<Parent Parent-ID="1"/>
<Title>Limitations for offline use</Title>
<Text>Data can’t be loaded from or stored to the local hard drive. It’s impossible to interoperate with existing other software on the system. It’s impossible to retrieve data from or submit data to a remote server.</Text>
</POI>
<POI ID="6" Type="Effect">
<Parent Parent-ID="1"/>
<Title>Quasi-reqirement of online use</Title>
<Text>No data exchange can happen conveniently if it isn’t done with the original remote, external server that delivered the web application files. The operator of the server that delivered the web application files will be faced with responsibilities like data protection, preventing data loss, security, quality of service (uptime and providing the service, so if the service is discontinued, people will loose their work), demands of law enforcement, etc. If the user doesn’t have connectivity, some functions won’t work, for example: uploading a file in order to share/publish and then retrieve it again from the original remote server, because local files can’t be added to the local web software.</Text>
</POI>
<POI ID="7" Type="Effect">
<Parent Parent-ID="8"/>
<Title>No neutral repository</Title>
<Text>The repository for the prototypes and examples is a personal repository that’s attached to skreutzer’s account: https://gitlab.com/skreutzer/sos-experimental</Text>
</POI>
<POI ID="8" Type="Effect">
<Parent Parent-ID="27"/>
<Title>Bootstrapping</Title>
<Text>No prior discussion, organizational structures or planning, instead: fast prototyping and ad-hoc setup to reduce the costs of potential failure. Adjust dynamically, build for demand, and not find out after a lot of investment that it turns out to be the wrong result. A main concept of Douglas Engelbart, also known from the Agile Movement, also known from the Lean Movement.</Text>
</POI>
<POI ID="27" Type="Effect">
<Title>Practical work is difficult and expensive</Title>
<Text>It is very difficult and expensive to influence the manifest design of existing, real systems according to a theoretical plan. Costs can be time, health, timing/opportunity, enjoyment, mental capacity, etc.</Text>
</POI>
<POI ID="9" Type="Effect">
<Parent Parent-ID="7"/>
<Title>Bad for linking</Title>
<Text>Links to the repository will lead to skreutzer’s account. A redirect likely can’t be set up later, so moving the repository later likely will break existing links.</Text>
</POI>
<POI ID="10" Type="Effect">
<Parent Parent-ID="7"/>
<Title>Bad context</Title>
<Text>It’s only a single personal repository on skreutzer’s account, where the context and environment holds many other repositories as well that aren’t related to SOS, so somebody who explores the repository wouldn’t find other SOS material, but unrelated projects, which is bad for the discoverability of the SOS projects. Other SOS repositories aren’t collected in one place, but spread and mixed with other stuff, which is confusing. There is no one-stop-shop authoritative place where all the materials can be found.</Text>
</POI>
<POI ID="32" Type="Effect">
<Parent Parent-ID="7"/>
<Title>Bad for community management</Title>
<Text>It’s difficult and risky for other people to join and participate, if their contributions are bound to a personal account that’s not related to SOS. Connections might get lost for SOS if a transition needs to happen later.</Text>
</POI>
<POI ID="33" Type="Effect">
<Parent Parent-ID="7"/>
<Title>Bus factor</Title>
<Text>With git, forking is easy and cheap, so it’s not an effect of too much importance yet that the experimental repository for examples and prototypes is operated by a single person and in case of mishap, malicious actions or loss of availability/interest might become inacessible.</Text>
</POI>
<POI ID="11" Type="Effect">
<Parent Parent-ID="7"/>
<Title>No connections from SOS</Title>
<Text>There’s no connection from the wcharlton user account nor from the official website http://www.untiednations.com/community/plan-sos/ to the repository, which is bad for discoverability and relies solely on wcharlton’s responsibility to indicate the existence of it, in terms of bus factor.</Text>
</POI>
<POI ID="12" Type="Effect">
<Parent Parent-ID="8"/>
<Parent Parent-ID="14"/>
<Parent Parent-ID="15"/>
<Title>Unpublished material</Title>
<Text>Some of William Charlton’s material isn’t published like the grid interface mockup drawings, HTML grid interface mockup, ASPX server prototype, the “SOS - Meeting for Untied Nations/The Ecology of Systems Thinking” and “SOS - Meeting for Cape Town Hackathon” files with their corresponding XSLTs.</Text>
</POI>
<POI ID="14" Type="Effect">
<Title>No repository</Title>
<Text>In lack of a shared repository or a personal repository, there is no good place to publish them.</Text>
</POI>
<POI ID="15" Type="Effect">
<Title>Copyright</Title>
<Text>For the publication of the material to make sense and be useful, it should be licensed properly. This requires William Charlton to consider the licenses and deciding on one or several of them.</Text>
</POI>
<POI ID="16" Type="Effect">
<Parent Parent-ID="12"/>
<Title>Incompleteness, not open</Title>
<Text>People who look into the project via the site or the sos-experimental repository won’t be able to get an overview of what has been produced so far. Potential collaborators or independent contributors won’t have access to all the files and might start to waste time by producing similar material which was already produced, but isn’t available.</Text>
</POI>
<POI ID="17" Type="Effect">
<Parent Parent-ID="12"/>
<Title>No versioning</Title>
<Text>It’s difficult to keep track of the different versions of a file and it can’t easily be established from a given file if it is current or an historic version.</Text>
</POI>
<POI ID="18" Type="Effect">
<Parent Parent-ID="12"/>
<Title>Backup is difficult</Title>
<Text>It takes a lot of effort to spread the individual files in order to have copies of the whole collection everywhere as a backup mechanism if the original repository or (e-mail) accounts become unavailable.</Text>
</POI>
<POI ID="19" Type="Effect">
<Parent Parent-ID="8"/>
<Title>SOS formats differ</Title>
<Text>Stephan Kreutzer’s example files differ from William Charlton’s example files. Stephan Kreutzer’s prototypes expect a different format than William Charlton’s prototypes expect. Stephan Kreutzer’s example files don’t validate according to the official XSD.</Text>
</POI>
<POI ID="21" Type="Effect">
<Parent Parent-ID="19"/>
<Parent Parent-ID="25"/>
<Title>Not interoperable</Title>
<Text>Because of differing formats, the prototypes are incompatible and example files are specific to only one of the two prototype groups. The examples can’t be demonstrated to work with all of the prototypes.</Text>
</POI>
<POI ID="23" Type="Effect">
<Title>SOS is also a human system tool</Title>
<Text>SOS planning is a method/process/procedure, not just a software tool. It’s intended to be used in specific contexts and setups. The prototypes don’t necessarily reflect the methodological context yet.</Text>
</POI>
<POI ID="24" Type="Effect">
<Title>Is pre-existing</Title>
<Text>The Meeting is in William Charlton’s example files and prototypes that pre-existed the creation of the prototypes and examples.</Text>
</POI>´
<POI ID="25" Type="Effect">
<Parent Parent-ID="23"/>
<Parent Parent-ID="24"/>
<Title>Meetings not reflected in all examples and prototypes</Title>
<Text>Stephan Kreutzer’s examples and prototypes don’t reflect the concept of the Meeting, which leads to incompatibility with William Charlton’s examples and prototypes that do implement the concept of the Meeting.</Text>
</POI>
<POI ID="26" Type="Effect">
<Parent Parent-ID="8"/>
<Title>Progress isn’t visible</Title>
<Text>Visitors and potential collaborators/contributors can’t find out about the progress of the project.</Text>
</POI>
<POI ID="28" Type="Effect">
<Parent Parent-ID="26"/>
<Title>Not very engaging</Title>
<Text>Visitors, potential collaborators and potential contributors might not get attracted because of thinking that the project is inactive.</Text>
</POI>
<POI ID="29" Type="Effect">
<Parent Parent-ID="8"/>
<Title>No production system</Title>
<Text>The examples and prototypes are somewhat fixed/frozen, they serve as mere examples that shouldn’t be polluted with expansion as a result of real-world usage in order to remain useful and concise, with focus on specific features and characteristics. For the real bootstrapping of this project effort, there’s no production system/environment that also allows organizational enhancements like notifications or versioning to track the history.</Text>
</POI>
<POI ID="31" Type="Effect">
<Parent Parent-ID="29"/>
<Parent Parent-ID="30"/>
<Parent Parent-ID="21"/>
<Title>Progress is limited/blocked</Title>
<Text>Bootstrapping can’t improve and advance to a higher stage as the existing results aren’t supposed to and don’t contribute to the actual project effort itself.</Text>
</POI>
</SOS>
The $/sos-grid-1/index.xhtml is generated via a XSLT transformation using the
$/sos_xml_to_sos_grid_xhtml_1.xsl XSLT stylesheet on a SOS XML file.
The already existing file is based on $/../../examples/copyright_license_for_software.xml
(commit https://gitlab.com/skreutzer/sos-experimental/tree/0a31f1543533128b3a9c3f1531683ef9795fa629).
The already existing file is based on $/../../examples/development_process_2.xml.
<?xml version="1.0" encoding="UTF-8"?>
<xml-xslt-transformator-1-jobfile>
<job input-file="../../examples/copyright_license_for_software.xml" entities-resolver-config-file="./xml_xslt_transformator_1/entities/config_empty.xml" stylesheet-file="./sos_xml_to_sos_grid_xhtml_1.xsl" output-file="./sos-grid-1/index.xhtml"/>
<job input-file="../../examples/development_process_2.xml" entities-resolver-config-file="./xml_xslt_transformator_1/entities/config_empty.xml" stylesheet-file="./sos_xml_to_sos_grid_xhtml_1.xsl" output-file="./sos-grid-1/index.xhtml"/>
</xml-xslt-transformator-1-jobfile>
......@@ -51,80 +51,166 @@ window.onload = function () {
}
};
</script></head><body><div id="grid"><div id="causes"/><div id="current"/><div id="effects"/><div id="details"/><div id="loadLink"><a href="#" onclick="loadGrid();">Load</a></div></div><div id="sos-input" style="display:none;"><!-- The data contained in this element and sub-elements is not part of this program, it's user data and might be under a different license than this program. This program also doesn't depend on it or link it as a library, it's only processed. --><sos:SOS Language="en" xsi:schemaLocation="http://www.untiednations.com/SOS http://www.untiednations.com/XML/SOSMeeting1.xsd">
<sos:POI ID="30" Type="Effect">
<sos:Parent Parent-ID="8"/>
<sos:Title>Grid Prototype 1 interface doesn’t allow navigation to groups of POIs other than the current one if they’re not connected</sos:Title>
<sos:Text>The grid interface to navigate/traverse a graph/network doesn’t provide a way to reach from one group of connected POIs to another group of connected POIs if no POIs from the two separate groups share a connection between the groups. The only way to access separate groups is via the fragment identifier if the user knows the ID of a POI of the group, which is very inconvenient and not an interface control.</sos:Text>
</sos:POI>
<sos:POI ID="1" Type="Effect">
<sos:Parent Parent-ID="5"/>
<sos:Title>Copyright Law</sos:Title>
<sos:Text>Copyright law has been passed in most given jurisdictions.</sos:Text>
<sos:Parent Parent-ID="2"/>
<sos:Parent Parent-ID="3"/>
<sos:Parent Parent-ID="4"/>
<sos:Title>The browser is sandboxed</sos:Title>
<sos:Text>Our prototypes are implemented in the browser. The issue is the “Same Origin Policy” and the problem that Cross-Origin Resource Sharing requires the cooperation of remote, external entities in advance.</sos:Text>
</sos:POI>
<sos:POI ID="2" Type="Effect">
<sos:Title>Software multiplies</sos:Title>
<sos:Text>Software like many other types of works is immaterial and not bound to physical limitations/scarcity. Every act of distribution to another entity results in a duplication (copying).</sos:Text>
<sos:Parent Parent-ID="13"/>
<sos:Parent Parent-ID="20"/>
<sos:Title>Remote code execution</sos:Title>
<sos:Text>The browser executes unchecked code retrieved from remote, external entities. Such code can be malicious. The browser needs to sandbox the execution in order to protect the computer from compromization. Reasons for it are that no software installation is required in advance (dynamic loading and execution on demand), and that the operating systems running the majority of browsers lack the concept of software distribution repositories where code is submitted and checked, as most of the remote code is proprietary, as well as the operating system that supports this model of denying digital freedom to the user, so the code must be obtained from the original author and can’t be fixed (if broken or malicious), to establish and maintain the dependency.</sos:Text>
</sos:POI>
<sos:POI ID="13" Type="Effect">
<sos:Title>Manual software installation is inconvenient</sos:Title>
<sos:Text/>
</sos:POI>
<sos:POI ID="20" Type="Effect">
<sos:Title>Lock-in dependency on a single online server/domain/storage/service</sos:Title>
<sos:Text/>
</sos:POI>
<sos:POI ID="3" Type="Effect">
<sos:Title>Copying technology is cheaply available</sos:Title>
<sos:Text>Most people can afford to buy copying equipment and know how to operate it.</sos:Text>
<sos:Title>Leakage of confidential data</sos:Title>
<sos:Text>If the browser gets and executes unchecked code from various remote, external entities, it could send the confidential data hold by the other code back from where itself came from and leak it.</sos:Text>
</sos:POI>
<sos:POI ID="4" Type="Effect">
<sos:Title>Copying is cheap</sos:Title>
<sos:Text>Producing another copy (another unit of the good) is almost gratis, if the producer owns or has access to copying equipment.</sos:Text>
<sos:Parent Parent-ID="20"/>
<sos:Title>Business model of online service dependency</sos:Title>
<sos:Text>Browser vendors tend to be engaged in some form of SaaS online service lock-in dependency business model, so it would harm their business interest if the sandbox wouldn’t enforce the use of these services and instead would allow to make use of local alternatives.</sos:Text>
</sos:POI>
<sos:POI ID="5" Type="Effect">
<sos:Parent Parent-ID="2"/>
<sos:Parent Parent-ID="3"/>
<sos:Parent Parent-ID="4"/>
<sos:Title>Selling software is difficult</sos:Title>
<sos:Text>The business model of selling software faces a lot of competition from gratis offers of the identical product.</sos:Text>
<sos:Parent Parent-ID="1"/>
<sos:Title>Limitations for offline use</sos:Title>
<sos:Text>Data can’t be loaded from or stored to the local hard drive. It’s impossible to interoperate with existing other software on the system. It’s impossible to retrieve data from or submit data to a remote server.</sos:Text>
</sos:POI>
<sos:POI ID="6" Type="Effect">
<sos:Parent Parent-ID="1"/>
<sos:Title>Copyright law is enforcable</sos:Title>
<sos:Text>Copyright law can be enforced selectively with severe penalties for infringement against companies and individuals.</sos:Text>
<sos:Title>Quasi-reqirement of online use</sos:Title>
<sos:Text>No data exchange can happen conveniently if it isn’t done with the original remote, external server that delivered the web application files. The operator of the server that delivered the web application files will be faced with responsibilities like data protection, preventing data loss, security, quality of service (uptime and providing the service, so if the service is discontinued, people will loose their work), demands of law enforcement, etc. If the user doesn’t have connectivity, some functions won’t work, for example: uploading a file in order to share/publish and then retrieve it again from the original remote server, because local files can’t be added to the local web software.</sos:Text>
</sos:POI>
<sos:POI ID="7" Type="Effect">
<sos:Parent Parent-ID="2"/>
<sos:Parent Parent-ID="3"/>
<sos:Title>Copyright law isn’t enforcable</sos:Title>
<sos:Text>The state has no mechanisms available to gain knowledge about copyright infringement or interfere with it, other than investigation and after-the-fact persecution.</sos:Text>
<sos:Parent Parent-ID="8"/>
<sos:Title>No neutral repository</sos:Title>
<sos:Text>The repository for the prototypes and examples is a personal repository that’s attached to skreutzer’s account: https://gitlab.com/skreutzer/sos-experimental</sos:Text>
</sos:POI>
<sos:POI ID="8" Type="Effect">
<sos:Parent Parent-ID="9"/>
<sos:Title>Binary executables are difficult to modify</sos:Title>
<sos:Text>Software can exist in the form of a binary executable (primitive instructions for a computer processor). It is very expensive and difficult to modify (especially big) applications in this form.</sos:Text>
<sos:Parent Parent-ID="27"/>
<sos:Title>Bootstrapping</sos:Title>
<sos:Text>No prior discussion, organizational structures or planning, instead: fast prototyping and ad-hoc setup to reduce the costs of potential failure. Adjust dynamically, build for demand, and not find out after a lot of investment that it turns out to be the wrong result. A main concept of Douglas Engelbart, also known from the Agile Movement, also known from the Lean Movement.</sos:Text>
</sos:POI>
<sos:POI ID="27" Type="Effect">
<sos:Title>Practical work is difficult and expensive</sos:Title>
<sos:Text>It is very difficult and expensive to influence the manifest design of existing, real systems according to a theoretical plan. Costs can be time, health, timing/opportunity, enjoyment, mental capacity, etc.</sos:Text>
</sos:POI>
<sos:POI ID="9" Type="Effect">
<sos:Parent Parent-ID="10"/>
<sos:Title>Source code can be compiled into a binary executable</sos:Title>
<sos:Text>A compiler can translate language constructs of software in the form of source code into a binary executable (primitive instructions for a computer processor).</sos:Text>
<sos:Parent Parent-ID="7"/>
<sos:Title>Bad for linking</sos:Title>
<sos:Text>Links to the repository will lead to skreutzer’s account. A redirect likely can’t be set up later, so moving the repository later likely will break existing links.</sos:Text>
</sos:POI>
<sos:POI ID="10" Type="Effect">
<sos:Title>Source code is easy to modify</sos:Title>
<sos:Text>Software can exist in the form of source code (high-level instructions in a programming language). It is easy to modify software in this form.</sos:Text>
<sos:Parent Parent-ID="7"/>
<sos:Title>Bad context</sos:Title>
<sos:Text>It’s only a single personal repository on skreutzer’s account, where the context and environment holds many other repositories as well that aren’t related to SOS, so somebody who explores the repository wouldn’t find other SOS material, but unrelated projects, which is bad for the discoverability of the SOS projects. Other SOS repositories aren’t collected in one place, but spread and mixed with other stuff, which is confusing. There is no one-stop-shop authoritative place where all the materials can be found.</sos:Text>
</sos:POI>
<sos:POI ID="32" Type="Effect">
<sos:Parent Parent-ID="7"/>
<sos:Title>Bad for community management</sos:Title>
<sos:Text>It’s difficult and risky for other people to join and participate, if their contributions are bound to a personal account that’s not related to SOS. Connections might get lost for SOS if a transition needs to happen later.</sos:Text>
</sos:POI>
<sos:POI ID="33" Type="Effect">
<sos:Parent Parent-ID="7"/>
<sos:Title>Bus factor</sos:Title>
<sos:Text>With git, forking is easy and cheap, so it’s not an effect of too much importance yet that the experimental repository for examples and prototypes is operated by a single person and in case of mishap, malicious actions or loss of availability/interest might become inacessible.</sos:Text>
</sos:POI>
<sos:POI ID="11" Type="Effect">
<sos:Parent Parent-ID="10"/>
<sos:Parent Parent-ID="7"/>
<sos:Title>Software in the form of source code can be run with an interpreter</sos:Title>
<sos:Text>Source code (high-level instructions in a programming language) can be read by a binary executable which is an interpreter, and the interpreter enacts the corresponding primitive processor instructions for each high-level source code instruction.</sos:Text>
<sos:Title>No connections from SOS</sos:Title>
<sos:Text>There’s no connection from the wcharlton user account nor from the official website http://www.untiednations.com/community/plan-sos/ to the repository, which is bad for discoverability and relies solely on wcharlton’s responsibility to indicate the existence of it, in terms of bus factor.</sos:Text>
</sos:POI>
<sos:POI ID="12" Type="Effect">
<sos:Parent Parent-ID="8"/>
<sos:Title>Software in the form of a binary executable can be run directly</sos:Title>
<sos:Text>Binary executables are comprised of instructions for a particular computer processor, which can run them directly.</sos:Text>
</sos:POI>
<sos:POI ID="13" Type="Effect">
<sos:Parent Parent-ID="6"/>
<sos:Title>The user is allowed to modify the software</sos:Title>
<sos:Parent Parent-ID="14"/>
<sos:Parent Parent-ID="15"/>
<sos:Title>Unpublished material</sos:Title>
<sos:Text>Some of William Charlton’s material isn’t published like the grid interface mockup drawings, HTML grid interface mockup, ASPX server prototype, the “SOS - Meeting for Untied Nations/The Ecology of Systems Thinking” and “SOS - Meeting for Cape Town Hackathon” files with their corresponding XSLTs.</sos:Text>
</sos:POI>
<sos:POI ID="14" Type="Effect">
<sos:Parent Parent-ID="6"/>
<sos:Title>The user isn’t allowed to modify the software</sos:Title>
<sos:Title>No repository</sos:Title>
<sos:Text>In lack of a shared repository or a personal repository, there is no good place to publish them.</sos:Text>
</sos:POI>
<sos:POI ID="15" Type="Effect">
<sos:Parent Parent-ID="11"/>
<sos:Title>The user is enabled to modify the software</sos:Title>
<sos:Title>Copyright</sos:Title>
<sos:Text>For the publication of the material to make sense and be useful, it should be licensed properly. This requires William Charlton to consider the licenses and deciding on one or several of them.</sos:Text>
</sos:POI>
<sos:POI ID="16" Type="Effect">
<sos:Parent Parent-ID="12"/>
<sos:Title>Incompleteness, not open</sos:Title>
<sos:Text>People who look into the project via the site or the sos-experimental repository won’t be able to get an overview of what has been produced so far. Potential collaborators or independent contributors won’t have access to all the files and might start to waste time by producing similar material which was already produced, but isn’t available.</sos:Text>
</sos:POI>
<sos:POI ID="17" Type="Effect">
<sos:Parent Parent-ID="12"/>
<sos:Title>No versioning</sos:Title>
<sos:Text>It’s difficult to keep track of the different versions of a file and it can’t easily be established from a given file if it is current or an historic version.</sos:Text>
</sos:POI>
<sos:POI ID="18" Type="Effect">
<sos:Parent Parent-ID="12"/>
<sos:Title>Backup is difficult</sos:Title>
<sos:Text>It takes a lot of effort to spread the individual files in order to have copies of the whole collection everywhere as a backup mechanism if the original repository or (e-mail) accounts become unavailable.</sos:Text>
</sos:POI>
<sos:POI ID="19" Type="Effect">
<sos:Parent Parent-ID="8"/>
<sos:Title>SOS formats differ</sos:Title>
<sos:Text>Stephan Kreutzer’s example files differ from William Charlton’s example files. Stephan Kreutzer’s prototypes expect a different format than William Charlton’s prototypes expect. Stephan Kreutzer’s example files don’t validate according to the official XSD.</sos:Text>
</sos:POI>
<sos:POI ID="21" Type="Effect">
<sos:Parent Parent-ID="19"/>
<sos:Parent Parent-ID="25"/>
<sos:Title>Not interoperable</sos:Title>
<sos:Text>Because of differing formats, the prototypes are incompatible and example files are specific to only one of the two prototype groups. The examples can’t be demonstrated to work with all of the prototypes.</sos:Text>
</sos:POI>
<sos:POI ID="23" Type="Effect">
<sos:Title>SOS is also a human system tool</sos:Title>
<sos:Text>SOS planning is a method/process/procedure, not just a software tool. It’s intended to be used in specific contexts and setups. The prototypes don’t necessarily reflect the methodological context yet.</sos:Text>
</sos:POI>
<sos:POI ID="24" Type="Effect">
<sos:Title>Is pre-existing</sos:Title>
<sos:Text>The Meeting is in William Charlton’s example files and prototypes that pre-existed the creation of the prototypes and examples.</sos:Text>
</sos:POI>´
<sos:POI ID="25" Type="Effect">
<sos:Parent Parent-ID="23"/>
<sos:Parent Parent-ID="24"/>
<sos:Title>Meetings not reflected in all examples and prototypes</sos:Title>
<sos:Text>Stephan Kreutzer’s examples and prototypes don’t reflect the concept of the Meeting, which leads to incompatibility with William Charlton’s examples and prototypes that do implement the concept of the Meeting.</sos:Text>
</sos:POI>
<sos:POI ID="26" Type="Effect">
<sos:Parent Parent-ID="8"/>
<sos:Title>The user isn’t enabled to modify the software</sos:Title>
<sos:Title>Progress isn’t visible</sos:Title>
<sos:Text>Visitors and potential collaborators/contributors can’t find out about the progress of the project.</sos:Text>
</sos:POI>
<sos:POI ID="28" Type="Effect">
<sos:Parent Parent-ID="26"/>
<sos:Title>Not very engaging</sos:Title>
<sos:Text>Visitors, potential collaborators and potential contributors might not get attracted because of thinking that the project is inactive.</sos:Text>
</sos:POI>
<sos:POI ID="29" Type="Effect">
<sos:Parent Parent-ID="8"/>
<sos:Title>No production system</sos:Title>
<sos:Text>The examples and prototypes are somewhat fixed/frozen, they serve as mere examples that shouldn’t be polluted with expansion as a result of real-world usage in order to remain useful and concise, with focus on specific features and characteristics. For the real bootstrapping of this project effort, there’s no production system/environment that also allows organizational enhancements like notifications or versioning to track the history.</sos:Text>
</sos:POI>
<sos:POI ID="31" Type="Effect">
<sos:Parent Parent-ID="29"/>
<sos:Parent Parent-ID="30"/>
<sos:Parent Parent-ID="21"/>
<sos:Title>Progress is limited/blocked</sos:Title>
<sos:Text>Bootstrapping can’t improve and advance to a higher stage as the existing results aren’t supposed to and don’t contribute to the actual project effort itself.</sos:Text>
</sos:POI>
</sos:SOS></div></body></html>
</sos:SOS></div></body></html>
\ No newline at end of file
......@@ -27,6 +27,7 @@ let gridEngine = new SosGridEngine();
function NavigatePoi(poiId) {
currentPoi = null;
ResetDetails();
Reset();
let poi = gridEngine.getPoiById(poiId);
......
The $/sos-grid-2/index.xhtml is generated via a XSLT transformation using the
$/sos_xml_to_sos_grid_xhtml_1.xsl XSLT stylesheet on a SOS XML file.
The already existing file is based on $/../../examples/development_process.xml
(commit https://gitlab.com/skreutzer/sos-experimental/tree/77abbc5fd446428cb677cd247d3e607b61c922d6).
The already existing file is based on $/../../examples/development_process_1.xml.
File mode changed from 100644 to 100755
<?xml version="1.0" encoding="UTF-8"?>
<xml-xslt-transformator-1-jobfile>
<job input-file="../../examples/development_process.xml" entities-resolver-config-file="./xml_xslt_transformator_1/entities/config_empty.xml" stylesheet-file="./sos_xml_to_sos_grid_xhtml_1.xsl" output-file="./sos-grid-2/index.xhtml"/>
<job input-file="../../examples/development_process_1.xml" entities-resolver-config-file="./xml_xslt_transformator_1/entities/config_empty.xml" stylesheet-file="./sos_xml_to_sos_grid_xhtml_1.xsl" output-file="./sos-grid-2/index.xhtml"/>
</xml-xslt-transformator-1-jobfile>
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html version="-//W3C//DTD XHTML 1.1//EN" xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" xml:lang="en" lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sos="http://www.untiednations.com/SOS" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
<!-- This file was created by sos_xml_to_sos_grid_xhtml_1.xsl of SOS Grid Prototype 2, which is free software licensed under the GNU Affero General Public License 3 or any later version (see https://gitlab.com/skreutzer/sos-experimential/tree/master/prototypes/sos-grid-2/ and http://www.untiednations.com/community/plan-sos/). -->
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html version="-//W3C//DTD XHTML 1.1//EN" xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" xml:lang="en" lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sos="http://www.untiednations.com/SOS" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
<!-- This file was created by sos_xml_to_sos_grid_xhtml_1.xsl of SOS Grid Prototype 2, which is free software licensed under the GNU Affero General Public License 3 or any later version (see https://gitlab.com/skreutzer/sos-experimential/tree/master/prototypes/sos-grid-2/ and http://www.untiednations.com/community/plan-sos/). -->
<!--
Copyright (C) 2018-2019 Stephan Kreutzer
......@@ -20,172 +20,172 @@ along with SOS Grid Prototype 2. If not, see <http://www.gnu.org/licenses/>.
The data in the <div id="sos-input"/> is not part of this program,
it's user data that is only processed. A different license may apply.
-->
<title>SOS Grid Prototype 2</title><meta content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" name="viewport"/><link rel="stylesheet" type="text/css" href="./css/styles.css"/><script type="text/javascript" src="./js/sos-grid-engine.js">//</script><script type="text/javascript" src="./js/sos-grid-renderer.js">//</script><script type="text/javascript" src="./js/sos-grid-navigation.js">//</script><script type="text/javascript">
"use strict";
// As browsers/W3C/WHATWG are incredibly evil, they might ignore the self-declarative
// XML namespace of this document and the given content type in the header, and instead
// assume/render "text/html", which then fails with JavaScript characters that are
// XML/XHTML special characters which need to be escaped, if the file is saved under
// a name that happens to end with ".html" (!!!). Just have the file name end with
// ".xhtml" and it might magically start to work.
function loadGrid()
{
if (window.location.hash.length &gt; 1)
{
gridNavigator.NavigateIssue(window.location.hash.substr(1));
}
else
{
// NavigateIssue() with empty ID string: load the "default" (first) Issue.
gridNavigator.NavigateIssue("");
}
}
window.onload = function () {
let loadLink = document.getElementById('loadLink');
loadLink.parentNode.removeChild(loadLink);
loadGrid();
if ("onhashchange" in window)
{
window.onhashchange = loadGrid;
}
};
</script></head><body><div id="grid"><div id="causes"/><div id="current"/><div id="effects"/><div id="details"/><div id="loadLink"><a href="#" onclick="loadGrid();">Load</a></div></div><div id="sos-input" style="display:none;"><!-- The data contained in this element and sub-elements is not part of this program, it's user data and might be under a different license than this program. This program also doesn't depend on it or link it as a library, it's only processed. --><sos:SOS Language="en" xsi:schemaLocation="http://www.untiednations.com/SOS http://www.untiednations.com/XML/SOSMeeting1.xsd">
<sos:Issue id="1">
<sos:Title>The browser is sandboxed</sos:Title>
<sos:Text>Our prototypes are implemented in the browser. The issue is the “Same Origin Policy” and the problem that Cross-Origin Resource Sharing requires the cooperation of remote, external entities in advance.</sos:Text>
<sos:Cause id="2">
<sos:Title>Remote code execution</sos:Title>
<sos:Text>The browser executes unchecked code retrieved from remote, external entities. Such code can be malicious. The browser needs to sandbox the execution in order to protect the computer from compromization. Reasons for it are that no software installation is required in advance (dynamic loading and execution on demand), and that the operating systems running the majority of browsers lack the concept of software distribution repositories where code is submitted and checked, as most of the remote code is proprietary, as well as the operating system that supports this model of denying digital freedom to the user, so the code must be obtained from the original author and can’t be fixed (if broken or malicious), to establish and maintain the dependency.</sos:Text>
</sos:Cause>
<sos:Cause id="3">
<sos:Title>Leakage of confidential data</sos:Title>
<sos:Text>If the browser gets and executes unchecked code from various remote, external entities, it could send the confidential data hold by the other code back from where itself came from and leak it.</sos:Text>
</sos:Cause>
<sos:Cause id="4">
<sos:Title>Business model of online service dependency</sos:Title>
<sos:Text>Browser vendors tend to be engaged in some form of SaaS online service lock-in dependency business model, so it would harm their business interest if the sandbox wouldn’t enforce the use of these services and instead would allow to make use of local alternatives.</sos:Text>
</sos:Cause>
<sos:Effect id="5">
<sos:Title>Limitations for offline use</sos:Title>
<sos:Text>Data can’t be loaded from or stored to the local hard drive. It’s impossible to interoperate with existing other software on the system. It’s impossible to retrieve data from or submit data to a remote server.</sos:Text>
</sos:Effect>
<sos:Effect id="6">
<sos:Title>Quasi-reqirement of online use</sos:Title>
<sos:Text>No data exchange can happen conveniently if it isn’t done with the original remote, external server that delivered the web application files. The operator of the server that delivered the web application files will be faced with responsibilities like data protection, preventing data loss, security, quality of service (uptime and providing the service, so if the service is discontinued, people will loose their work), demands of law enforcement, etc. If the user doesn’t have connectivity, some functions won’t work, for example: uploading a file in order to share/publish and then retrieve it again from the original remote server, because local files can’t be added to the local web software.</sos:Text>
</sos:Effect>
</sos:Issue>
<sos:Issue id="7">
<sos:Title>No neutral repository</sos:Title>
<sos:Text>The repository for the prototypes and examples is a personal repository that’s attached to skreutzer’s account: https://gitlab.com/skreutzer/sos-experimental</sos:Text>
<sos:Cause id="8">
<sos:Title>Bootstrapping</sos:Title>
<sos:Text>No prior organizational structures, ad-hoc setup.</sos:Text>
</sos:Cause>
<sos:Effect id="9">
<sos:Title>Bad for linking</sos:Title>
<sos:Text>Links to the repository will lead to skreutzer’s account. A redirect likely can’t be set up later, so moving the repository later likely will break existing links.</sos:Text>
</sos:Effect>
<sos:Effect id="10">
<sos:Title>Bad context</sos:Title>
<sos:Text>It’s only a single personal repository on skreutzer’s account, where the context and environment holds many other repositories as well that aren’t related to SOS, so somebody who explores the repository wouldn’t find other SOS material, but unrelated projects, which is bad for the discoverability of the SOS projects. Other SOS repositories aren’t collected in one place, but spread and mixed with other stuff, which is confusing. There is no one-stop-shop authoritative place where all the materials can be found.</sos:Text>
</sos:Effect>
<sos:Effect id="32">
<sos:Title>Bad for community management</sos:Title>
<sos:Text>It’s difficult and risky for other people to join and participate, if their contributions are bound to a personal account that’s not related to SOS. Connections might get lost for SOS if a transition needs to happen later.</sos:Text>
</sos:Effect>
<sos:Effect id="33">
<sos:Title>Bus factor</sos:Title>
<sos:Text>With git, forking is easy and cheap, so it’s not an effect of too much importance yet that the experimental repository for examples and prototypes is operated by a single person and in case of mishap, malicious actions or loss of availability/interest might become inacessible.</sos:Text>
</sos:Effect>
<sos:Effect id="11">
<sos:Title>No connections from SOS</sos:Title>
<sos:Text>There’s no connection from the wcharlton user account nor from the official website http://www.untiednations.com/community/plan-sos/ to the repository, which is bad for discoverability and relies solely on wcharlton’s responsibility to indicate the existence of it, in terms of bus factor.</sos:Text>
</sos:Effect>
</sos:Issue>
<sos:Issue id="12">
<sos:Title>Unpublished material</sos:Title>
<sos:Text>Some of William Charlton’s material isn’t published like the grid interface mockup drawings, HTML grid interface mockup, ASPX server prototype, the “SOS - Meeting for Untied Nations/The Ecology of Systems Thinking” and “SOS - Meeting for Cape Town Hackathon” files with their corresponding XSLTs.</sos:Text>
<sos:Cause id="13">
<sos:Title>Bootstrapping</sos:Title>
<sos:Text>No prior organizational structures, ad-hoc setup.</sos:Text>
</sos:Cause>
<sos:Cause id="14">
<sos:Title>No repository</sos:Title>
<sos:Text>In lack of a shared repository or a personal repository, there is no good place to publish them.</sos:Text>
</sos:Cause>
<sos:Cause id="15">
<sos:Title>Copyright</sos:Title>
<sos:Text>For the publication of the material to make sense and be useful, it should be licensed properly. This requires William Charlton to consider the licenses and deciding on one or several of them.</sos:Text>
</sos:Cause>
<sos:Effect id="16">
<sos:Title>Incompleteness, not open</sos:Title>
<sos:Text>People who look into the project via the site or the sos-experimental repository won’t be able to get an overview of what has been produced so far. Potential collaborators or independent contributors won’t have access to all the files and might start to waste time by producing similar material which was already produced, but isn’t available.</sos:Text>
</sos:Effect>
<sos:Effect id="17">
<sos:Title>No versioning</sos:Title>
<sos:Text>It’s difficult to keep track of the different versions of a file and it can’t easily be established from a given file if it is current or an historic version.</sos:Text>
</sos:Effect>
<sos:Effect id="18">
<sos:Title>Backup is difficult</sos:Title>
<sos:Text>It takes a lot of effort to spread the individual files in order to have copies of the whole collection everywhere as a backup mechanism if the original repository or (e-mail) accounts become unavailable.</sos:Text>
</sos:Effect>
</sos:Issue>
<sos:Issue id="19">
<sos:Title>SOS Formats differ</sos:Title>
<sos:Text>Stephan Kreutzer’s example files differ from William Charlton’s example files. Stephan Kreutzer’s prototypes expect a different format than William Charlton’s prototypes expect. Stephan Kreutzer’s example files don’t validate according to the official XSD.</sos:Text>
<sos:Cause id="20">
<sos:Title>Bootstrapping</sos:Title>
<sos:Text>No prior discussion, fast prototyping. Saving the time that would be required for co-designing. Experimentation to potentially adjust/improve the final format.</sos:Text>
</sos:Cause>
<sos:Effect id="21">
<sos:Title>Not interoperable</sos:Title>
<sos:Text>Because of differing formats, the prototypes are incompatible and example files are specific to only one of the two prototype groups. The examples can’t be demonstrated to work with all of the prototypes.</sos:Text>
</sos:Effect>
</sos:Issue>
<sos:Issue id="22">
<sos:Title>What about Meetings?</sos:Title>
<sos:Text>It’s unclear what role Meetings should play. They’re in the format, but examples were produced without a meeting (or how is “Meeting” defined?) and the prototypes can be used without as well.</sos:Text>
<sos:Cause id="23">
<sos:Title>SOS is also a human system tool</sos:Title>
<sos:Text>SOS planning is a method/process/procedure, not just a software tool. It’s intended to be used in specific contexts and setups. The prototypes don’t reflect that yet.</sos:Text>
</sos:Cause>
<sos:Cause id="24">
<sos:Title>Is pre-existing</sos:Title>
<sos:Text>The Meeting is in William Charlton’s example files and prototypes that pre-existed the creation of this Issue.</sos:Text>
</sos:Cause>
<sos:Effect id="25">
<sos:Title>Meetings not reflected in all examples and prototypes</sos:Title>
<sos:Text>Stephan Kreutzer’s examples and prototypes don’t reflect the concept of the Meeting, which leads to incompatibility with William Charlton’s examples and prototypes that do implement the concept of the Meeting.</sos:Text>
</sos:Effect>
</sos:Issue>
<sos:Issue id="26">
<sos:Title>Progress isn’t visible</sos:Title>
<sos:Text>Visitors and potential collaborators/contributors can’t find out about the progress of the project.</sos:Text>
<sos:Cause id="27">
<sos:Title>Bootstrapping</sos:Title>
<sos:Text>No prior organizational structures, ad-hoc setup.</sos:Text>
</sos:Cause>
<sos:Effect id="28">
<sos:Title>Not very engaging</sos:Title>
<sos:Text>Visitors, potential collaborators and potential contributors might not get attracted because of thinking that the project is inactive.</sos:Text>
</sos:Effect>
</sos:Issue>
<sos:Issue id="29">
<sos:Title>No production system</sos:Title>
<sos:Text>The examples and prototypes are somewhat fixed/frozen, they serve as mere examples that shouldn’t be polluted with expansion as a result of real-world usage in order to remain useful and concise, with focus on specific features and characteristics. For the real bootstrapping of this project effort, there’s no production system/environment that also allows organizational enhancements like notifications or versioning to track the history.</sos:Text>
<sos:Cause id="30">
<sos:Title>Bootstrapping</sos:Title>
<sos:Text>No prior organizational structures, ad-hoc setup.</sos:Text>
</sos:Cause>
<sos:Effect id="31">
<sos:Title>Progress is limited</sos:Title>
<sos:Text>Bootstrapping can’t improve and advance to a higher stage as the existing results aren’t supposed to and don’t contribute to the actual project effort itself.</sos:Text>
</sos:Effect>
</sos:Issue>
-->
<title>SOS Grid Prototype 2</title><meta content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" name="viewport"/><link rel="stylesheet" type="text/css" href="./css/styles.css"/><script type="text/javascript" src="./js/sos-grid-engine.js">//</script><script type="text/javascript" src="./js/sos-grid-renderer.js">//</script><script type="text/javascript" src="./js/sos-grid-navigation.js">//</script><script type="text/javascript">
"use strict";
// As browsers/W3C/WHATWG are incredibly evil, they might ignore the self-declarative
// XML namespace of this document and the given content type in the header, and instead
// assume/render "text/html", which then fails with JavaScript characters that are
// XML/XHTML special characters which need to be escaped, if the file is saved under
// a name that happens to end with ".html" (!!!). Just have the file name end with
// ".xhtml" and it might magically start to work.
function loadGrid()
{
if (window.location.hash.length &gt; 1)
{
gridNavigator.NavigateIssue(window.location.hash.substr(1));
}
else
{
// NavigateIssue() with empty ID string: load the "default" (first) Issue.
gridNavigator.NavigateIssue("");
}
}
window.onload = function () {
let loadLink = document.getElementById('loadLink');
loadLink.parentNode.removeChild(loadLink);
loadGrid();
if ("onhashchange" in window)
{
window.onhashchange = loadGrid;
}
};
</script></head><body><div id="grid"><div id="causes"/><div id="current"/><div id="effects"/><div id="details"/><div id="loadLink"><a href="#" onclick="loadGrid();">Load</a></div></div><div id="sos-input" style="display:none;"><!-- The data contained in this element and sub-elements is not part of this program, it's user data and might be under a different license than this program. This program also doesn't depend on it or link it as a library, it's only processed. --><sos:SOS Language="en" xsi:schemaLocation="http://www.untiednations.com/SOS http://www.untiednations.com/XML/SOSMeeting1.xsd">
<sos:Issue id="1">
<sos:Title>The browser is sandboxed</sos:Title>
<sos:Text>Our prototypes are implemented in the browser. The issue is the “Same Origin Policy” and the problem that Cross-Origin Resource Sharing requires the cooperation of remote, external entities in advance.</sos:Text>
<sos:Cause id="2">
<sos:Title>Remote code execution</sos:Title>
<sos:Text>The browser executes unchecked code retrieved from remote, external entities. Such code can be malicious. The browser needs to sandbox the execution in order to protect the computer from compromization. Reasons for it are that no software installation is required in advance (dynamic loading and execution on demand), and that the operating systems running the majority of browsers lack the concept of software distribution repositories where code is submitted and checked, as most of the remote code is proprietary, as well as the operating system that supports this model of denying digital freedom to the user, so the code must be obtained from the original author and can’t be fixed (if broken or malicious), to establish and maintain the dependency.</sos:Text>
</sos:Cause>
<sos:Cause id="3">
<sos:Title>Leakage of confidential data</sos:Title>
<sos:Text>If the browser gets and executes unchecked code from various remote, external entities, it could send the confidential data hold by the other code back from where itself came from and leak it.</sos:Text>
</sos:Cause>
<sos:Cause id="4">
<sos:Title>Business model of online service dependency</sos:Title>
<sos:Text>Browser vendors tend to be engaged in some form of SaaS online service lock-in dependency business model, so it would harm their business interest if the sandbox wouldn’t enforce the use of these services and instead would allow to make use of local alternatives.</sos:Text>
</sos:Cause>
<sos:Effect id="5">
<sos:Title>Limitations for offline use</sos:Title>
<sos:Text>Data can’t be loaded from or stored to the local hard drive. It’s impossible to interoperate with existing other software on the system. It’s impossible to retrieve data from or submit data to a remote server.</sos:Text>
</sos:Effect>
<sos:Effect id="6">
<sos:Title>Quasi-reqirement of online use</sos:Title>
<sos:Text>No data exchange can happen conveniently if it isn’t done with the original remote, external server that delivered the web application files. The operator of the server that delivered the web application files will be faced with responsibilities like data protection, preventing data loss, security, quality of service (uptime and providing the service, so if the service is discontinued, people will loose their work), demands of law enforcement, etc. If the user doesn’t have connectivity, some functions won’t work, for example: uploading a file in order to share/publish and then retrieve it again from the original remote server, because local files can’t be added to the local web software.</sos:Text>
</sos:Effect>
</sos:Issue>
<sos:Issue id="7">
<sos:Title>No neutral repository</sos:Title>
<sos:Text>The repository for the prototypes and examples is a personal repository that’s attached to skreutzer’s account: https://gitlab.com/skreutzer/sos-experimental</sos:Text>
<sos:Cause id="8">
<sos:Title>Bootstrapping</sos:Title>
<sos:Text>No prior organizational structures, ad-hoc setup.</sos:Text>
</sos:Cause>
<sos:Effect id="9">
<sos:Title>Bad for linking</sos:Title>
<sos:Text>Links to the repository will lead to skreutzer’s account. A redirect likely can’t be set up later, so moving the repository later likely will break existing links.</sos:Text>
</sos:Effect>
<sos:Effect id="10">
<sos:Title>Bad context</sos:Title>
<sos:Text>It’s only a single personal repository on skreutzer’s account, where the context and environment holds many other repositories as well that aren’t related to SOS, so somebody who explores the repository wouldn’t find other SOS material, but unrelated projects, which is bad for the discoverability of the SOS projects. Other SOS repositories aren’t collected in one place, but spread and mixed with other stuff, which is confusing. There is no one-stop-shop authoritative place where all the materials can be found.</sos:Text>