Public Domain and Open Source
Topic 2: Software
Software, Public Domain to Closed Source to Open source
Procedural - viewing a program as a series of commands (linear programming)
Procedural - the first way of programming - write commands in a line, chronological
Coding was viewed as following a bunch of steps. It was like baking a cake
Spaghetti code - only the author could change it or know what it is. - a series of steps
Never get fired, because no one else knows how to fix it
. Where a programmer does not document anything about the program, so if something goes wrong, no one except the programmer can fix it
- Boss tells them to use comments – each comment says what the line means or does.
Modules
- Separate the program into sections
They separted that did different things.
IF you are worried about printing you would just have to go to one page of the code.
ex:
-input
-computation
-output
with possible to jumps out to other subprograms and jump back into and etc.
comments – shows what something means or does
- notes placed in the programming which serve as a reminder for future use
Objects oriented programming, OOP
- Program focused on data
Instead of thinking of programs as commands, as data
View the programs from the point of view of data.
So managing data – what’s the status of the data?
Modern software is in a loop.
There is no more visible “end” of the program.
Software reacts to responses from the user . Mouse clicks, return key
Classic example of an object is car.
Ex: a car in a game have commands for each thing. like gas and speed
HOW DOES THE GAS DATA CHANGE? Gas!!!
It changes because you use part of the function –car accelerator.
Two ways to change car’s gasoline levels – Car.Accelerator() and Car.Fillerup()
Cheats- Test game, like get lots of money to test section
.
Cheat codes - originally for game testers to jump to end-game content so they could test it.
First made for the shortcut for the programmers but internet allowed cheats to spread so programmers realized that cheats could be part of the game.
Porting- Conversion without starting from start
IBM vs Unisys
-IBM
= Great
-Use idea of IBM and advance it
-Vaporware
- big companies say that they create a new and better one later
-Unisys made a computer that does exactly the same thing as IBM but cheaper
(reverse- engineering)
Input- BOX –Output (Black box)
Computers - 3 categories
Mainframes – large computers, Work station – QDOS
Minicomputers – about the size of a desk
Microcomputers – regular desktop computer
Around 1980, microcomputers began to take over minicomputers and minicomputers slowly died out.
Eventually the micro computers gained enough strength and price advantage that these kinda went away.
Did I tell you that ATMs started on minis?
Porting
OS from mainframe was converted to work on minicomputers. Later, minicomputer OS was converted for microcomputers. This conversion of OS’s is called PORTING.
Porting is converting. Big monster computers – when they invented the mini they could write the software with the new mini or you could start with this operating system and convert it till it ran on the mini.
Porting – downside is that since it was written for strengths of main frames and mini is going to miss it.
New chips would come out and people would change some parts of the machines and they ported it over. And they let the operating system run on that and when microcomputers. SO IT PORTED OVER AND OVER FROM MAINFRAMES TO MINI TO MICRO.
IBM 1960 was the most dominant
Unisys also sold mainframes
Even if Unisys made a better computer, IBM simply says “Soon we are going to make better one”
Then Unisys made a computer as good as IBM but cheaper
Buy Unisys computer and use IBM software on it
Everyone bought the Unisys computer and then used IBM software so IBM had to sell its software separately
Profit – in hardware, not software
Until 1965, there was no software. Software was just goodies that came with the machines. All the stuff was in the hardware
IBM vs. Unisys
IBM dominated the computer market during the 1960’s. Unisys was its competitor. IBM killed Unisys’s market by telling companies that they were coming out with a new product that was even better than Unisys’s. This caused companies to wait and not buy Unisys computers.
Reverse Engineering – Unisys took the IBM computer and made a computer that functioned exactly the same, with equal processing power, and sold it at a cheaper price.
For the first time, IBM software was able to work on non-IBM computers.
Software was considered part of the hardware during the 1960’s, and there were few property laws regarding software.
Unisys came up with a machine that was so like the IBM that you could run IBM operating systems on it. And IBM was kind of stuck because they didn’t have a product code for their OS. They never sold it and people now just wanted to use the OS and it wasn’t even a product. There was no such thing as software and there was no software ever sold. It was all given away with the machines. Finally IBM had to separate their OS and because people were using it on other systems so in the early 60s software finally became a product.
Reverse engineering: break it apart and re make it at your own company.
Black box: You don't know what’s inside, only what it does to the input data (engineering term)
Bill Gates enters scene with Paul Allen
Altair 8800 was a microcomputer where you build it like a kit.
The first software for it was the Basic Interpreter.
Bill Gates made a basic interpreter for microcomputers and got 5 dollars for each disk bundled with each computer kit.
It was considered not fair because he only ported it to micro from mini.
Took basic (from main, mini, to micro) and add to Altair 8800
Takes us back to IBM. In the early 60s – it was like a copy of the IBM = Unisys.
All right, Bill Gates and BASICS. When the micro computers first came out they were sold to the hobbyist market and the most popular one was called Altair. You bought a box of stuff and put it together yourself it was a kit and when you finally built the computer there was no software in the box. What you needed was a programming language.
Bill Gates and Paul Allen quit Harvard in 2nd year. They realized that there was a real need of programming language and the easiest one to work with was basics. He imported it over to the micro.
Bill Gates and Paul Allen started Microsoft in 1975.
Somebody else – he just made it work on a different computer. He tried doing such a thing. He treated software as a money making product.
Microcomputers were a hobbyist market. You ordered the microcomputer and it came in a kit, called the Altair, which you would use to construct the computer yourself. However, there was no software included, so the computer was quite useless.
Technical side of BASICS – one used as a interpreter and compiler.
Compiler takes your code and converts it to something the computer can understand.
It’s called an OBJECT code and the SOURCE coding.
And then you can run it anytime you want.
Once you have got the object code.
Unless you get to the Era.
Two kinds of Programming Languages
Interpreter – the code that makes up the program. People can see the code.
Basic interpreter: The code that gets run ( not safe because you have the actually the code ) but simpler
Compiler – takes the code and turns it into a product. This makes the code impossible to see.
Compiler: take a code of a program and compile it or convert the machine code ( safe, no one can read your program )
Public Domain: Everyone gave the software away.
Bill Gates sold it for money, so now selling things he didn't write and everyone else did not sell.
Bill Gates and Paul Allen ported BASIC from the minicomputer to the microcomputer. They then went to Altair and said, “Hey, why don’t you put this BASIC interpreter in your computer so that it will be more interesting?” Altair agreed, and more people began to buy its computers because then they actually had a purpose.
Bill Gates PORTED IT SO HE COULD MAKE MONEY OFF IT. He was allowed to do it because it was PUBLIC DOMAIN. Everyone shared their work with each other and built off each other. He was the first person to charge for software.
1984 – IBM was not selling the microcomputers. They were selling the minicomputers
Floppy disks - 7 inch
Platter – floppy disk cover hard disk platter thing. 5 MB of storage space
1989 - Mac plus. No hard drive, 9 inch screen, 4 MB of RAM
Neuromancer by William Gibson, early book describing in novel form the future of the internet back in early 1980s
IBM made everything and they kept all the profits and they wrote all the software
– all of it but didn’t see any profits in these little tiny PCs.
Not everybody can make money like that.
There is a guy if you type in certain combination of keys and if you ask Microsoft and if you ask Microsoft why the dollar sign comes up but they wont be able to tell you why it come up but I’ll be able to tell you that.
Open source = code is shared as long as you follow the rules.
Public domain – everything just left everything for people to use so that people gain knowledge.
Public domain- write program then share it, the problem that it was hard to share.
Share with floppy disk, they used to have a floppy disk 7 inch. It did not hold a lot data, and broke easily.
-License one copy one computer
Probs
- home/office
Site license, 10 user, world wide license (whole world)
When buy software now you get a license for one copy that you only install once
Site License - make site (a place where you use one software for all of the computers) license
License Agreements
Single User: Install one copy of the program once on one computer
10-User License - License for up to 10 computers
Site License - allowed use of the software on as many computers as they want at a certain location
Worldwide License - License to use the software as much as they want around the world
Netscape: 85% market share in 1996, not free, but should have been, beta was free, and there was always a new beta but you had to use explorer to get Netscape.
Internet Explorer: Microsoft made the operating system look like the browser so say that explorer works together with windows operating system and internet with the same feeling. Microsoft included a free copy of Internet Explorer with every copy of Windows.
Internet Explorer gave the illusion that there was no way to separate the browser, because it looked just like the Windows operating system. There was no feeling of the browser being a separate program.
iTunes distributes music the old way, not the direct new way (from the creators website)
Musicians only get about nickel, apple .35, record company .60
Windows Licenses on Compaq
Microsoft gave out Windows pre-installed on all new computers so that more people used Windows instead of Linux. Microsoft threatened Compaq that if they put Netscape on their computers, they would not give them Windows Licenses anymore. This screwed Netscape over even more because then their program wouldn’t be on computers anymore.
Sun Microsystems tried to compete with Microsoft Office by making Star Office.
They failed so they turned Star Office into an open-source program called Open Office.