CollinsSoftware.com
May 2024

Knowledge:
I will use the term "knowledge", in this newsletter, to mean the facts and logic that "Jane" can access and use. Jane is an infinitely large application, knowledge is what she knows. It is all the facts and logic that is used by every application. Knowledge in this newsletter is not what the human knows, but rather what Jane knows and can use. Without use there is no knowledge.

The transfer and use of knowledge by Jane is completely transparent to the user. There is no programming done by developers or by the users of Jane.


Raw Material:
Pictures, Icons, Forms, and such are some of the materials needed by every application. However raw material is not knowledge. Raw material will need to be distributed in the same way as common knowledge.
What is a Logic Unit?
A "Logic Unit" is the source code required to satisify an action request in context.

For example: A = c:/temp/Sample.txt;

The action request is to define the variable "A" as a file reference. The logic unit is simply the assignment to "A" as a link to the file. The file may or may not exist. At this point there is no assumption on the purpose of the request.

alert(A.length)

The logic unit (source code) gets the length of file and display it. Again no assumptions, so the request will get the file's length from file's attributes.

alert(A[1:20])

The logic unit (source code) loads (if not already available) 20 values in context from the file. The logic unit will determine the best approach to access the file. This may be load the complete file, load just what was required, or possibility memory map the contents (13 terabyte file).

Compile and run A;

The logic unit (source code) complies and runs the content of the file referenced by A. Jane is to make all content self aware. The contents of the file knows which compiler(s) to use.


Trust and Confidence in Software:
I worked for twenty five years moving proprietary binary maps from one system to another. The graphic systems I decoded were: IBM GPG, Intergraph, Synercom, ESRI, AutoCAD, Proscan, CableCAD, Geovision, Smallworld, Tiger Files, MapInfo, SDTS, Spring, Oracle SDO, and others. My customers required moving their mapping databases off their old proprietary system to a new proprietary mapping system. My clients were Cities, Counties, Oil Companies, Governments, Electric, Gas, Telephone, and others.

Ask any of these vendors of the mapping systems, "Are you Open?". They all would reply "Yes we are OPEN". In forty-nine years being a software developer, I know of no company that would supply me the information I needed to access information from their system. All web pages, obfuscated JavaScript, binary structures are never fully documented, therefore not OPEN. As long as software and hardware vendors limit your access to your own information, you are locked into using their systems.

A side note: In my work moving mapping systems, I found that we have lost much of our mapping capabilities over the years. Our mapping systems have become so watered down to a point of non-functional cartoons of reality. This is the trend I see in all of our software applications, almost to point of collapse. I fear and I cry, that these lost technologies can never be recovered.


"Those who do not move, do not notice their chains." -- Rosa Luxemburg

"Conformity is the jailer of freedom and the enemy of growth." -- John F. Kennedy

"To be wealthy and honored in an unjust society is a disgrace." -- Confucius

"Be the change that you wish to see in the world." -- Mahatma Gandhi

"If I cannot do great things, I can do small things in a great way" -- Martin Luther King Jr.

"If you want your children to be intelligent, read them fairy tales. If you want them to be more intelligent, read them more fairy tales." -- Albert Einstein


Nationalized Knowledge and Logic:
The ownership of knowledge is what creates monopolies. Our copyright laws limits everyone's access to using common knowledge for their own purpose. Not only by our laws, but also by the misuse of our court systems. Who really owns knowledge is the issue, and then who decides?

By nationalizing knowledge then we can provide information and logic unencumbered from all legal issues of ownership. Assume for an instance that I create "Jane" an infinitely large application that has the ability to provide every individual with the ability to create and manage their own version of any application. The difficulty now is who owns what, and what information is available to everyone equally.

The types of information that every application requires:

1. A Dictionary of Words and Terms
2. A Universal Spell-check Logic and Database
3. Maps
4. Domain Name Database
5. Units of Measurements
6. Mathematic Equations
7. Chemistry 
8. Common Persons, Places, Things

Each user must have the right to download their own version of any nationalized structure, logic or database.


The Right to Own Hardware:
When you buy any hardware, you should own it. This includes all the software's source code that the device uses. It is a crime that the maker of hardware (cars, airplanes, phones, computers, medical equipment, CNC, etc.) retain control to the equipment that you purchase by hiding the very thing that makes the equipment function.

My vision for "Jane" is to allow the owner of hardware to view, change, and repair all the software on the hardware. All software is always supplied as source code. It is never obfuscated or encrypted in any way.


Common and Un-Common Knowledge:
Trust and confidence in common knowledge must be absolute. This is impossible to achieve, due to the source of that knowledge. For one, is it free and unencumbered? Not in our current tech world. This is especially true for logic, which is the knowledge of how to perform an action.

If we nationalize common knowledge, then we could create a trusted source for common knowledge. Users would download a permanent copy that their applications can then access. Common knowledge could be partitioned by its life expectancy. It might be that we purchase read only storage from the government.

Un-Common knowledge, is knowledge that is served from web sites that you trust. Any website might have un-common knowledge your application requires, things like catalogs, menus, recipes, logic, and lists of persons, places, and things.

Common and un-common knowledge is unencumbered from all legal issues, and is free for you to use and distribute.


Trusted Knowledge of Everything:
Trusted knowledge cannot be derived from an un-trusted source. This is why our current software development technology does not work.

For example: A file named "test.pdf", we assume that the content is PDF formatted by its file extension. This is an assumption not knowledge, the name could be wrong. This also means that all the knowledge associated with the file name is also called into question.

The only way to have trusted knowledge, is to provide it with the thing itself (a new technology) not in the name that we give it. In the case of the file called "test.pdf", the contents of the file must provide the knowledge of itself, and it must also provide all other knowledge that is specific to the content.

We must change to a new software development technology that has complete trusted knowledge. We do this in a way that humans have 100% confident in the knowledge that our applications use.


Amendment to the Constitution:
The right to own hardware, and the right to use knowledge, and the right to use logic must be decided before things get much worse. The United States has a constitution which could provide these rights to every citizen.
 
The Internet's New Clothes:
"Jane" has a single namespace. This means that the universe of knowledge can be accessed by name.

A = FBI.hotline phone number;
B = My Mother's.Babycam.feed;
boyNames = List of 30 random boy's names;

If we augment (or replace) the client/server technology with Jane, then we would expand access of our applications to the knowledge that the internet wishes to share.

alert(CollinsSoftware.com/sitemap.length);
C = Hcad.org['7710 Janak'].appraised value; My wife's Phone.new Contact = Bob;

Adding an AI natural language process (AI-NLP) to the compiler may or may not help. Jane's compiler has a user defined language (UDL) which looks and acts like AI-NLP, but only gives expected results in all contexts. Having an infinite number of ways to say something could be a bad thing (E.g. "That is not what I meant"). UDL I believe serves readability, reliability, and changeability for every user far better than an automated AI-NLP.

Jane does not make these decisions, AI-NLP and UDL are both logic units. The user can decides which method works best for him or her and in which context.


Purchased and Rented Knowledge:
This is knowledge that you pay for with all the restictions that the owner wishes to apply. The knowledge of those restrictions must also be supplied. This way the applications that use this knowledge can ensure those restrictions are known and followed.

There is no such thing as "OPEN" or "FREE", there is only purchased knowledge or logic with a price of $0. Knowledge are the facts and logic units that are required by an applications.


One Responsible Owner of Common Knowledge:
There can only ever be one owner for a set of common knowledge. Take for instant the "dictionary". There are many sources, so we do not have one source of "common knowledge" for a dictionary. You use Webster's, I use Oxford's. For now Jane will only use her own dictionary. If Webster/Oxford wants to sell/lease you a dictionary, then Jane can use it. The knowledge you supply is not known by every Jane, unless you buy the rights to share some of that knowledge.
Ownership:
In the creation of maps, vendors would create a non-existent street. This way they could sue anyone that copied their maps. So if you copy anything off the internet, you run the risk of being sued. My brother copied two pictures off the internet to put on this new web site, it cost him $50,000 (and had to remove them). Use of any information or logic is a minefield of legal issues for everyone.

The issue is who really owns what, and what can I legally use. When it comes to the use of logic, it is impossible to know if someone has not planted a flag on some piece of code.


Conclusion:
Knowledge must be free. We are being taxed (charged for) everything, from the air we breath, to the water we drink. Knowledge should never be taxed or be held hostage from the people. Plato said that not everybody needs full disclosure of certain information. I am only talking about common knowledge, those fact that everybody already knows. Facts that every computer application requires. We just need a method to provide all applications with an efficient, secure, and trusted source to obtain knowledge.

No company owns enough knowledge nor trust, to accomplish the free access required. Toll roads are a blight to our national road system. Travel is off limits to the poor. Let us not do the same thing to knowledge, and kill progress, as we have done over the past eighty years in computer technologies.

Companies will only do what is best for themselves, never for their customers. Anything that is open to the public cannot be trusted. So I am left with only one solution for progress, which is some sort of government backed organization. That orgainization must have teeth to protect itself and its role to socity.


Author: Clif Collins