Standard Knowledge Language (SKL) is an open-source framework for building next-generation software and enabling interoperability.
It is composed of reusable schemas describing structured data and software components. More than an individual taxonomy or ontology, SKL is a customizable methodology for how software can connect to data and other software components through shared schemas.
Composable and Modular Software
Represent any software component as a modular building block.
SKL Schemas can be used to represent any type of software component, such as code packages, APIs, interfaces, language models, and more. The Schema for each component defines its features and characteristics (e.g., the inputs and outputs of an API endpoint).
SKL establishes a standardized way to connect these software components with data through their Schemas. When using SKL, software can semantically connect with structured data models and other any other software components also connected to those models.
Composability is to software as compounding interest is to finance.
Composability is the ability to mix and match software like Lego bricks. When software components can be "mix and matched", developers can reuse the same component across multiple projects. This means that every software problem must only be solved once, which results in exponentially growing returns when building and maintaining software. Since SKL Schemas are reusable across projects, they are highly composable and can hugely improve productivity.
We have created an end-to-end example and case study to showcase the power of SKL. Building custom integrations with many different file storage apps is traditionally a long and expensive process.
Using less than 50 lines of code, this demo can grab all the files from a theoretically infinite number of file storage tools. Moreover, it shows how a developer can easily leverage other pre-built software components like standard interfaces, continuous syncers & indexers, data storage solutions, and more
We've open-sourced Standard Knowledge Language to help you more easily connect data, capabilities, and more across varied software components and systems. You can implement SKL in your own software without having to send any data or information to Comake. SKL is easily customizable and lets you build unique software in more modular and composable ways.
While some aspects of SKL are patent-pending, we do intend to keep it freely accessible for non-commercial uses via a limited license. If you would like to use SKL for non-commercial uses, please feel free to do so while we finish developing the license. All we ask is that you disclose when software is powered by SKL. Otherwise, please reach out.
While building our own software products, we found ourselves increasingly struggling to manage a messy web of connections, integrations, and programming logic across software systems. We knew that we weren't alone and that there had to be a better way of unifying data and capabilities. We decided to address the issues from the ground up by rethinking software integration entirely. After several years of research, we developed SKL and have been working to open-source the general logic behind how it works.
We are excited to share our innovation and to try to improve humanity's collective ability to connect data and capabilities across society's various and rapidly changing needs. While we have filed several patents related to SKL and some of our other products, we do not intend to restrict the use of SKL in many practical ways. For example, you will always be able to use SKL to integrate a variety of software tools, to easily switch out software interfaces, to empower a variety of decentralized data storage solutions, and more within your own software. That being said, we also do intend on providing some restrictions. We are still wrapping up our SKL license, though we do know that we intend on restricting others from for example, using SKL to offer a managed integration service (e.g., iPaaS) or to provide unified APIs to others as a managed service. Our strategy is similar several other popular open source technologies (such as Elastic's Elastic License 2.0 and Redis' RSAL). For now, if you want to start playing around with SKL, all we ask is that you are conscious of this and that you properly attributes the usage of SKL technologies.
If you would like to white label products using SKL, if you would like our help building SKL-powered products, and/or if you would like to explore a different type of partnership, please reach out to us. We are actively consulting and partnering with startups, enterprises, and government agencies as we help them unify data and software capabilities across fragmented systems.
The future of the web is the future of collaboration.
Below we propose a vision for what that future looks like. It looks back at the history of both collaboration and software in order to posit what the next natural evolutions of each shall be. By understanding the evolutionary trajectories of each, and the characteristics and patterns that define them, we are able to formulate a framework for what the future of the web, and the future of collaboration, wants to be. We argue that this is a future that maximizes translatability of information, composability of software, and the ability to accumulate knowledge in an independent way. The theory ends with speculation as to what the potential impacts of this next evolution are, and how they differ from previous collaboration-related innovations.
We publish our research on an ongoing basis, and at times edit the previously published articles seen below by including additional perspectives. Enter your email to stay in the loop and receive an update every time we publish.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form. Please try again.
I. Collaboration Is Humanity’s Super Power.
I.I. Shared language is the catalyst for knowledge growth.
Humans have been able to thrive across every continent and in most habitats in a way that often tends to even suppress or subjugate the surrounding natural world around us. How have we been able to achieve so much more, at least in this evolutionary sense, versus other species?
David Christian argues, through his book Big History, that humans are able to reach such heights through our ability to retain more information with each passing generation than is lost by the next. He defines this as collective learning. In other words, humans are special because we can accumulateknowledge across individuals, communities, and time, thereby compounding our innovation potential. Both of these are inherently byproducts of collaboration over time.
Importantly, the amount of information and the range of capabilities we are able to pass on to each leading generation, is not constant. It is largely dependent: on the frameworks we set up to organize, share and access knowledge and previous innovations; on the frameworks we have for processing and managing this information; on the systems that empower mass collaboration; and so on. For example, some time around 100,000 years ago, humans started prescribing sounds and symbols to the things that we saw around us. Around this time our brains developed enough to be able to understand the sound (or symbol, or word) "rock" was not actually a rock, but rather that it symbolized and represented a rock. We were able to pass on knowledge related to rocks without having to hold one in our hands: where to find them, what to do with them, not to eat them, etc.
As language developed, humans grew to be able to describe and represent more and more. Beyond simply deciding that the word "rock" represented a rock, early man learned to explain, through language, how you could cut a rock and transform it into an arrowhead. In other words, through language people were able to pass on that certain operations could be performed on certain types of rocks in order to transform a given rock into an arrowhead. This meant that someone's discovery/innovation could be easily distributed across, and thereby leveraged by, more humans than was previously possible. People were able to learn, replicate, and share how to make an arrowhead without having to start from zero. All that was needed were shared abstractions, or a common language, for a "rock", the attributes that define (and enable the identification of) a rock, and the operations that can be performed on a rock to transform it into an arrowhead.
I.II. Collaboration is powered by shared beliefs.
With the emergence of a shared common language, humans started to increasingly collaborate in hunter-gatherer bands and small tribes. As time passed, a series of innovations and shared frameworks emerged over and around language that allowed for larger and larger groups of people to effectively collaborate. Today we recognize these as religion, art, and other cultural and political units.
There is an important distinction between simply prescribing a sound to represent a rock (or something found in nature), and creating a shared framework composed of sophisticated abstractions that may only exist through our collective belief in them. Simply prescribing a name to a rock helps people share information about a rock, but it does not necessarily help in persuading people to want to work together.
As Yuval Noah Harari reasons (through his book Sapiens), this distinction is actually the defining evolutionary characteristic that let humans take over the world. More specifically, Harari emphasizes that people’s unique ability to collectively believe in intangible concepts, in shared fictions, is the fundamental characteristic that empowers strangers to collaborate in large numbers, across generations, and that this mass-cooperation is what empowers us to do so much as a species.
A government is example of a shared fiction that may have related tangible assets, but that is neither defined nor dependent on anything in the physical world. In other words, because of their collective belief in a government and in what it stands for, a group of people are able to collaborate with what is essentially millions of other strangers in that group - even under stressful conditions such as going to war. While a government might have related symbols and tangible things that help strengthen its power in people’s minds, like a US president and the US capitol building, the existence of a shared fiction is not dependent on these tangible things. The US government was neither destroyed when President Kennedy was assassinated in 1963, nor when the capitol building was burned down in the War 1812. It survived in both circumstances because enough people still believed in the US government, regardless of the state of the person or the building. These shared fictions exist and survive strictly in people’s minds, and the symbols are there to support that imagined reality. Without the shared fiction, the US president is just a person and the US capitol is just a building.
The first and second order effects of these shared abstract concepts that no one can touch, smell, taste, or see cannot be understated. The point here is that humans have developed more sophisticated shared collaboration frameworks, or shared fictions, that like language, have played a pivotal role in the acceleration of our collective learning and innovation capabilities.
I.III. Money as a force multiplier for collaboration and innovation.
One of the most influential shared collaboration frameworks that we have developed to date is money. There have been many forms of money over time, ranging from shells to coins to pieces of paper to digital programs. Today, you might walk past and pay no heed to a shell on the ground that a group of people once prescribed a lot of value to. Someone from that group might look at you and think you’re crazy for not picking up the shell. You might think the same if you saw them stumble onto a piece of gold and not think twice about taking it. Why have we prescribed so much value to a variety of seemingly random substances over time?
The answer, of course, is that we collectively believe that we can give people these substances in order to persuade others to do things for us, or to exchange things with us. In other words, we can use money toconvince other people tocollaborate with us. Money also allows us to store collaboration potential, and to translate it, at will, into some form of collaboration at some future time. This is similar to how physicists tend think of potential energy.
Before money, how did people do this? How could a singer or a philosopher convince someone to help them find food or shelter? The singer that wanted to perfect her voice would have to spend a significant amount of time either a) hunting or procuring her own food, or b) finding someone willing to exchange food for a song. Similarly, the philosopher would have to give up thinking time in order to find someone that was willing to give him food in exchange for some thoughts. One can imagine the singer and philosopher might have had difficulties commonly realizing these exchanges in a pre-money society. They would likely have had better luck trading other goods or services for food, but even then they might have had to spend a significant amount of effort to find someone that a) had what they wanted and that b) wanted what they had.
Beyond a high probability of mismatched demands between two sides of a trade, bartering also made it difficult to translate and compare value across goods and services. In other words, the more goods and services one introduces into a bartering economy, the harder it is for individuals in that bartering economy to keep up with all the relative exchange rates. A cobbler for instance, might have only been willing to trade his services in exchange for a good that you don’t regularly interact with and therefore don’t know the current (or historical) market value of. How then would you go about understanding and comparing the value of that cobbler’s service and deciding whether or not to engage in “collaboration” via said trade?
The concept of money emerged as a standard method of exchange that maximized the translatability of goods and services (a.k.a. the translatability of collaboration). It enabled people to work together with less effort, and all it took was for them to collectively agree on and accept the concept of money. No longer did you have to evaluate the market worth of every good and service relative to every other good and service. You could now compare values and choose the right good and service for your needs using the agreed standard of money. The second order effects of this were vast, chief among which was the rapid acceleration of collective learning and innovation. For instance, the philosopher and the singer were able to spend more time developing and innovating in their respective fields, and less time trying to find someone that had what they wanted and wanted what they had. They (or their families - as was the case with many ancient philosophers) were able to build up collaboration potential (a.k.a. wealth) over time and across generations that allowed them to embark on longer-term and/or more sophisticated projects. They were also able to more easily collaborate with others in their respective fields by either convincing them, or being convinced, at least in some part, through the help of money.
I.IV. Higher-level frameworks can facilitate collaboration.
The expectations for how we are supposed to interact, with whom, what type of food we eat, if and how we pray, what languages we speak, and more have all been built up over millenia. These are the ways that we identify ourselves, our culture, our religion, and that have typically (at least in the historical sense) determined the people that we are most likely to collaborate with.
Looking back far enough, we can deduce that the first groups of humans (i.e., hunter-gatherer tribes) were likely to have developed accepted social standards that enabled and empowered their collaboration (e.g., language). As these tribes grew into permanent settlements and as their societies grew into civilizations, we can also understand how these social standards might have grown to influence larger groups of people and how those larger groups in turn grew to influence the social standards themselves. Over time, the evolving web of social standards became the cultures, religions, and shared beliefs that we recognize today as the fundamental fabric that enables and empowers ever-larger groups of people to collaborate. They are what Harari describes as shared fictions and what we are referring to here as shared collaboration frameworks.
As new methods for collaboration, like language or money, are introduced, they change the nature of the existing standards for collaboration and create a variety of second-order effects. Any given change to collaboration both influences and is influenced by other pre-existing collaboration frameworks.
The nature of that influence can vary. For instance, some collaboration frameworks are likely to only emerge over another pre-existing framework. You are unlikely to have alphabetical order with out an alphabet, an alphabet without writing, and writing without a language. Each of these frameworks were able to emerge only because there was an underlying framework(s) that enabled it, and they each emerged to solve a need and add a capability that was missing from the underlying frameworks.
Why language was invented
What people wanted: better way to collaborate with others
This required: scalable way to transfer knowledge about things, processes, and ideas
The invented framework: standard way to refer (and understand references) to things, actions, ideas, etc.
Commonly known as: language
Language enabled people to better collaborate with others, but as anyone that’s played the telephone game knows, it is also subject to a high degree of information distortion and loss across people and time. Therefore, it makes sense that people wanted to minimize the loss of knowledge that resulted from the ephemeral and subjective nature of how said knowledge was typically transferred. The result? A new way to document language on physical objects, such as drawing or writing, that allowed a given perspective (i.e., knowledge) to persist and be easily accessed at a later point time.
Why writing was invented
What people wanted: better way to share and access knowledge over time (e.g., across generations)
This required: scalable way to minimize loss of and changes to knowledge over time
The invented framework: standard way to create (and access) a persisting and immutable record of language
Commonly known as: writing, drawing
Writing empowered those who could read with the ability to access (and contribute to) a written body of knowledge that was likely to grow as more time passed. Prior to frameworks like writing, people had to rely on collaboration with others in their own generation for access to knowledge from previous generations, which led to higher amounts of knowledge loss across generations. After writing, an individual could more directly “collaborate” with previous generations through the previous’ generations recorded language. In other words, readers/writers were able to more effectively collaborate with more people over time through writing, thereby further accelerating collective learning and innovation.
I.V. Knowledge is only as useful as our ability to access it.
Language emerged as a way to compose and communicate knowledge. Drawing and writing emerged as a way to preserve language on physical mediums like cave walls or papyrus. These preserved ideas could be translated by literate people from their physical representations into personally-held understanding, or wisdom, and vice-versa.
As people wanted to express, record, and access more complex ideas and concepts, more sophisticated forms of language emerged. These higher forms of language were empowered in no small way by standards, including nouns, verbs, grammar, and even common rules for sounds, pronunciations, and compositions. Concepts like alphabets and musical notations developed as core parts of the aforementioned standards that enabled higher forms of language.
As more knowledge was physically recorded, including more complex ideas, the problem shifted from how someone may be able to record knowledge to how one should organize and access recorded knowledge. In other words, as the amount of written knowledge increased, so too did the importance on how that knowledge could be accessed.
For example, imagine that cavemen only recorded a single idea on a single wall per cave. This would make it very difficult for anyone attempting to gather the collective knowledge of all cavemen. That person would have to first find and visit every cave, and then analyze each record and try to bring together a larger understanding of all the cavemen’s recorded ideas. Today, we might naturally imagine that as this person visits each cave, she would logically create an index that catalogues, organizes, and includes notes of all of the caves she visits. And that’s precisely the point: there is a need for organizing knowledge that grows in proportion with both the amount of knowledge that exists and the need to access said knowledge.
For a long time, recording knowledge meant creating a representation of it on a tangible medium. This meant that the person recording knowledge had to make explicit decisions on how to organize and compose said knowledge. Since physical objects can only be held in one place at any given point in time, people had to for the most part choose one single way to organize physically manifested information (e.g., words on a page, pages in a book or a folder, books on physical shelves, folders in cabinets, shelves in different rooms, etc.). In other words, both the recorder of knowledge and any collector of recorded knowledge would have to make decisions on how to organize the recordings and embedded knowledge.
Of course, once an idea has been recorded once, that recording should also be able to be duplicated or at least instantiated again. However, for most of writing’s history, the manual cost associated with duplicating tangible things made that prohibitive at scale. Duplicating a book meant manually writing out every letter of every word on every page. This meant that books were not something that most people were accustomed to owning, and the total quantity of written knowledge used to be several orders of magnitude less versus today. Creating a one or a few duplicates of something is fundamentally different to creating thousands or millions duplicate copies of something. This resulted in most recordings (e.g., scrolls, books, artworks, etc.) having a limited number of copies, and by extension limited audiences. Therefore, the subset of people that possessed written knowledge, and that ended up organizing it, was more likely to also have had access to some understanding of what was being organized.
People that knew what they were organizing naturally tended to organize written knowledge according to what they understood or perceived about it. For example, a written list of kings might be ordered chronologically, descriptions of religious symbols might be ordered by hierarchal importance within a given canon, a list of countries might be organized by size or geography, and so on. This understanding-based organization is a fairly natural organizational strategy with several benefits.
Even today, there are many circumstances in which organizing information by some attribute or understanding of knowledge makes perfect sense. An individual may choose to organize his favorite books by how much he liked them, a mall might organize its directory of shops by category, a business person might see a list of clients by the amount of money each spent, a designer might choose to organize images of precedents by project, and so on.
Eventually though, as the amount of written knowledge grows, it becomes more and more cumbersome (if not practically impossible) for any given individual to have to find information in a way that requires pre-existing knowledge of a given subject. The more information and the more people that need to access said information, the larger the need for alternate retrieval strategies that don’t rely on pre-existing knowledge or understanding of the topic being accessed.
For example, imagine trying to find something specific related to the Yamato Dynasty (a.k.a., Imperial House of Japan), the longest ruling dynasty in history. Given the nature of the subject, it is easy to acknowledge that a large sum of related writings is likely to have been created over time. Now imagine trying to find information related to Nakayama Yoshiko (an important concubine for one of the emperors) in that large body of work. How can you possibly do that without having to read a substantial amount if the information is only organized chronologically by emperor? You would need to know more about the subject (e.g., which emperor’s concubine) in order to find the right place where the relevant information might exist within the larger body of written knowledge.
The Library of Alexandria, which reportedly held up to 700,000 items at its peak in the 2nd and 3rd centuries BC, understandably experienced the aforementioned organization and access problems as it grew. It makes sense that the library’s head librarians, most notably Zenodotus and Callimachus, invented and/or appropriated a variety of frameworks to try to improve access to the underlying knowledge. The most important of these included the placement of texts within a room alphabetically by the author’s name, the creation of a library index (or “pinakes”) that listed the works alphabetically by author and genre, the use of tags with basic information on the authors / works (a.k.a. metadata), and the assignment of texts to different rooms based on their subject matter.
We take many organizational frameworks like indexes and alphabetical order for granted, and even consider them second nature. However, it took a really long time and a lot of effort for us collectively to develop and adopt each of these organizational frameworks at scale. There are important reasons why it took alphabetical order seven centuries to emerge after the Phoenician alphabet, and why it was not embraced at large for another seventeen centuries thereafter.
Alphabetical order is an abstraction of an abstraction and therefore not a natural or seemingly rational approach. It is an organization of knowledge based on an attribute of the language that represents it, rather than an attribute of the knowledge itself. Eastern languages without alphabets developed similar organizational abstractions over time. For instance, during the Ming dynasty in 15th century, the Chinese organized the world’s largest encyclopedia according to some well known rhyming scheme rather than by the knowledge the language represents. Even today, many Chinese indexes and lists are organized by the number of strokes a given character has rather than by the knowledge it represents. During the 2022 Beijing Winter Olympics, Malta walked out before Australia during the (normally alphabetical) parade of nations for this precise reason. While this order may seem totally natural to people literate in Simplified Chinese, it is likely to also be entirely peculiar for modern westerners and illiterate Chinese people (e.g., in the 15th century).
Why alphabetical order was invented
What people wanted: better way to access information without having previous knowledge about it
This required: scalable way to organize information regardless of meaning or context
The invented framework: standard method of organization based on an attribute of language vs. an understanding of what the language represents
Commonly known as: alphabetical order
Judith Flanders, a British historian, masterfully illustrates how unnatural organizing canonical knowledge by an unconventional attribute can be with a simple demonstration: try to organize the days of the week alphabetically. Doing so will likely reveal your bias towards chronological organization (a.k.a. understanding-based organization). An abstract form of organization like alphabetical order simply didn’t make sense to most people, and was at times even considered a disrespectful rejection or an insubordinate challenge to the established order of the time. This second point is particularly important in understanding why it took seventeen centuries for alphabetical order to become the de facto standard after it was invented.
We publish articles like these and more on an ongoing basis.
A lot more coming soon. Enter your email for updates as soon as they come out.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form. Please try again.