What is Open Source
- Servers
- Code Review
- Hardware
- Events
- Mailing List
- Hours
- PyOhio
- Benevolent Dictator - Ted Li (li.6998@osu.edu)
- Vice President - Andrew
smacz
Cziryak (cziryak.1@osu.edu) - Treasurer - Jack Moore (moore.3337@osu.edu)
- System Administrator - John
EDT
Markiewicz (markiewicz.22@osu.edu) - Advisor - Matt Black (black.123@osu.edu)
- Advisor - Jeremy Moore (morris.343@osu.edu)
- Python
- Ruby
- PHP
- Perl
- C/C++/Go
- Rust
- [Erlang](It was originally a proprietary language within Ericsson, developed by Joe Armstrong, Robert Virding and Mike Williams in 1986[6] but was released as open source in 1998.)]
- Linux
- Desktop
- Servers
- Embedded
- BSD on servers
- FreeBSD
- OpenBSD
- NetBSD
- Unix
- Yeah, that Unix
- Co-founded the Open Source Initiative in 1998
fetchmail
gpsd
-
- Every good work of software starts by scratching a developer’s personal itch.
- Good programmers know what to write. Great ones know what to rewrite (and reuse).
- Plan to throw one [version] away; you will, anyhow. (Copied from Frederick Brooks' The Mythical Man-Month)
- If you have the right attitude, interesting problems will find you.
- When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
- Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
- Release early. Release often. And listen to your customers.
- Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
- Smart data structures and dumb code works a lot better than the other way around.
- If you treat your beta-testers as if they’re your most valuable resource, they will respond by becoming your most valuable resource.
- The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
- Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
- Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. (Attributed to Antoine de Saint-Exupéry)
- Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
- When writing gateway software of any kind, take pains to disturb the data stream as little as possible—and never throw away information unless the recipient forces you to!
- When your language is nowhere near Turing-complete, syntactic sugar can be your friend.
- A security system is only as secure as its secret. Beware of pseudo-secrets.
- To solve an interesting problem, start by finding a problem that is interesting to you.
- Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.
GNU
- Recursive Acronym: GNU’s Not Unix
- Recursive Acronym: “GNU’s Not Unix”’s Not Unix
- Recursive Acronym: “GNU’s Not Unix”’s Not Unix"’s Not Unix"
- Recursive Acronym: ““GNU’s Not Unix”’s Not Unix”’s Not Unix"’s Not Unix"
- Recursive Acronym: “GNU’s Not Unix”’s Not Unix"’s Not Unix"
- Recursive Acronym: “GNU’s Not Unix”’s Not Unix
- Recursive Acronym: GNU’s Not Unix
- Freedom: Gratis
- Free: “As in beer”
- Freedom: Libre:
- Free: “As in speech”
- Freedom: Four
- Free: To Execute
- Reason: To run the program as you wish.
- Free: To Study
- Reason: To study the source code of the program and then change it so the program does what you wish.
- Free: To Distribute
- Reason: To help your neighbour. That’s the freedom to redistribute the exact copies of the software when you wish.
- Free: To Modify
- Reason: To contribute to your community. That’s the freedom to distribute modified versions when you wish.
- Free: To Execute
linux
- Operating System
- Derived from Minix
git
- Version Control System
- Written in:
- Shell
pull
– you probably use this every day you use Gitrepack
– you might not have heard of this, but you’re using it anyway, because it’s called as part of the garbage-collection of the repository that happens automatically at intervals- other favorites like
rebase
,bisect
,filter-branch
, andstash
- Perl
add -i / -p
, which is awesome and you should try if you haven’tsend-email
, used for contributing code upstream to projects like Linux, or Git itself- some interfaces to other VCSes, namely
svn
,cvs
, andarch
- Shell
PulseAudio
Avahi
systemd
- Unix Philosophy:
- Primary Concerns:
- systemd’s journal stores all logs in binary format
- Systemd is very opaque. What I mean by that is that I can’t easily debug it. I can’t look inside and see what it’s doing, because it’s a complicated binary. I can’t easily make changes to the way it behaves.
- It’s not modular, it’s a mess. Systemd may be organized into separte components, but make no mistake - it’s a monolith in sheep’s clothing.
- None because he sucks
The Open Source Club at The Ohio State University
Resources
Constitution
Volunteering
Communication
Be Excellent to Each Other
Officers
Development
Languages
It was originally a proprietary language within Ericsson, developed by Joe Armstrong, Robert Virding and Mike Williams in 1986 but was released as open source in 1998.
Systems Administration
Operating Systems
Celebs
Ken Thompson and Dennis Richie
Programs
Unix (/ˈjuː.nɪks/; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, developed starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.
In 1983, Ritchie and Thompson received the Turing Award for their development of generic operating systems theory and specifically for the implementation of the UNIX operating system.
an American pioneer of computer science, [Ken Thompson] worked at Bell Labs for most of his career, Thompson designed and implemented the original Unix operating system. He also invented the B programming language, the direct predecessor to the C programming language, and was one of the creators and early developers of the Plan 9 operating systems. Since 2006, Thompson has worked at Google, where he co-invented the Go programming language.
[Dennis] Ritchie is best known as the creator of the C programming language, a key developer of the Unix operating system, and co-author of the book The C Programming Language;
In an interview from 1999, [Dennis] Ritchie clarified that he saw Linux and BSD operating systems as a continuation of the basis of the Unix operating system, and as derivatives of Unix
I think the Linux phenomenon is quite delightful, because it draws so strongly on the basis that Unix provided. Linux seems to be among the healthiest of the direct Unix derivatives, though there are also the various BSD systems as well as the more official offerings from the workstation and mainframe manufacturers.
Eric Steven Raymond
The ‘Face’ of Open Source
Programs
Books
Richard Stallman
Programs
God Status
Some people check their computers for viruses. Viruses check their computers for Richard Stallman.
The word “Free”
Books
Linus Torvalds
Programx
Legacy
Given enough eyeballs, all bugs are shallow
Boox
Lennart Poettering
Programs
Divergence with the Unix Philosophy
From the power user’s or programmer’s perspective, Unix systems are characterized by a modular design that is sometimes called the “Unix philosophy”, meaning that the operating system provides a set of simple tools that each perform a limited, well-defined function with a unified filesystem as the main means of communication and a shell scripting and command language to combine the tools to perform complex workflows.
Unix programs have always been expected to follow the concept of
DOTADIW
, or “Do One Thing and Do It Well.”