Hardware Hackers
Sunday, September 08, 2024
People would pay for a hammer to do its job, not for it to exist.
True hackers value technical ability and raw creativity that proves
oneself that’s worthy to their inclusive community of hacking into
software. Anyone who can’t or who doesn’t dedicate all of their time
to hacking is considered a “loser". Hardware hackers were activated
during the Vietnam War and the hippie and counter-culture movements.
They believe that bringing computers to the masses would create a
better and more liberated society and technology would empower people
and the world. The computer was a tool that large institutions had
sequestered. Opening it up and making it available to everyone was the
ultimate act of liberation.
Upon reading the second part of the book, I’m mostly intrigued by why
the notion of free software couldn't continue outside the MIT lab.
Certainly, we have to bring up two of the biggest tech companies in
the world that were born during the hardware hackers era. With the
popularity and the floating copies of Altair Basic, Bill Gates
published "An Open Letter to Hobbyists" and called out that software
would only be better when people received incentives for their hard
work. At Apple, Steve Wozniak and Steve Jobs had different opinions on
the approach to personal computers, especially regarding whether they
should be free and accessible to everyone or commercialized. Something
worth noticing is that at MIT labs software was freely distributed
among students, even placed in a drawer right next to the computer.
The Homebrew Computer Club follows the rule that if you take one copy
of the software, you should bring back two copies. Times have changed
when computers reached the hands of hardware hackers, this is the era
when the ideal was compromised into reality when business and
profitability were taken into personal computers. As much as I
subscribe to the true hackers’ ethics, I must admit that hackers
themselves exist in a niche market. The idealization of 100% freely
distributed software will work in a niche environment like MIT hackers
when the student group devotes their entire life to hacking when the
club of true hackers itself is exclusive. Once the technology is
brought to the masses by hardware hackers, there will inevitably be
friction during adoption. Human nature is complex and dynamic. I think
Bill Gates is only the first person to decide to profit from the
software. If it wasn’t him, it would be someone else. Just like how
Amazon survived to be the biggest commerce website in the US, if not
for Jeff Bezos, someone would have decided and succeeded in profiting
from the online shipping theme of the internet age. Proprietary
software has shaped today's industry standards, with companies like
Microsoft and Apple embodying the entrepreneurial spirit of early
hardware innovators
Why can't we have free software? I would say the reason behind it is
rooted in human nature around value and ownership. However, the
idealization of free software and open-source has not completely died
out. Many of the hackers continued to believe that free software will
be driven by community innovation rather than corporate interests.
While Bill Gates was moaning about ripoffs, Tom Pittman made an
interpreter and decided to test out whether would people pay for
software when it was cheaper. People would send him a mail with a
donation, saying that 5 dollars is too little or they already have a
copy from their friend so no need to mail anything to them. Today,
half of the world's servers are running on Linux and the open-source
community voluntarily maintains it with no monetary incentives.
The true hacker ethics of willingness to share information freely for
the ultimately collective good still survives and actively contributes
to the hacker culture today. I think compromising the ideal for mass
adoption is important in spreading the hacker ethic. People should be
granted free access to a computer and information, and benefit from
the personal computer and devices revolution when accessibility was
brought from the university labs to our hands.
Game Hackers
Sunday, September 15, 2024
The third generation of hackers living in a world that flourishes from
the foundations built by MIT and hardware hackers. Access to computers
has become unlimited and total. Video games being the most popular
software at the time were distributed to millions of people and spiral
the sale of personal computers. Innovation was fueled by competition,
monetary incentives, and greed. Is greed a good thing for innovation?
I think the answer is yes but with balance. Reality is always
somewhere in between(the compromise of idealism and nature), when
companies prioritize both creativity and profitability, they can
create sustainable innovation. But when greed becomes the dominant
force, it can lead to short-term thinking and stifle creativity with
individuals or companies focusing on quick profits rather than having
a long-term vision for innovation( Lootboxes and Game Pass). In
today's market, we see mass success of tripe A games and also indie
games. They are a reflection of companies who are motivated by
incentives and studios with intrinsic motivation, both contribute to
the balance of the market.
Steve Levy asks the question “Why shouldn’t Atari be happy with a
royalty paid by people who wanted to hack Pac-Man code and eventually
improve the game? Did the public benefit from one company ‘owning’ a
piece of software and preventing others from making it more useful?”
Such philosophical suggestion reflect how hacker ethics compromise
when it meets the market. Hackers would start to consider paying
royalties in exchange for the ability to use and modify that original
code, which is not something MIT and hardware hackers would consider.
It is the ultimate collision between idealism and reality. A couple of
decades have passed since John Harris made the Jawbreaker and the
intellectual protection for video games has become more robust.
However, the philosophical suggestions many hackers believe have come
to a reality with the rise of open-source software and modding
communities today. Platforms such as Valve would encourage players to
purchase mods as part of the sales go the original mods creator,
Unreal Engine would start taking 5% royalties for games that exceed 2
million dollars in sales. Maybe the money is not only the incentives,
money is a reflection of approval for people buying the software
products. Hackers should be judged by their hacking, and now the power
has moved from the hacker circle to the public. In some cases, money
is not one-dimensional but also a reflection of how good the hacking
is, and it could also act as a motivation for the hackers.
I think hacker ethics can survive in a world of commercial and
proprietary software, however, it’s difficult to become the mainstream
voice. I believe the vast majority of the market is filled with
bureaucracy and greed, a reflection of human nature and constructs. I
think it’s more likely for hacker ethics to be empowered by
individuals who are intrinsically motivated, and flourish in small
organizations but not large corporations. Sierra On-Line grew and
became more successful and Ken Williams began to prioritize making
Sierra a more structured and commercial success company. Many
companies follow this pattern of starting as a creative powerhouse but
as they grow and scale, to survive, compete, and dominate, they have
to embrace business practices that support long-term growth and
profitability. A simple analogy would be, that with more people in a
friend group, it's hard to decide on where to hang out on Sunday. If
you want to friend group who's passionate about hiking, keep the
friends group small and connect with other groups who like hiking.
It’s a big world and there’d always be someone who believes in and
embodies hacker’s ethics and perfectionism, grabbing the ring without
being corrupted. Chris Sawyer wrote the entire Roller Coaster Tycoon
in x86 assembly in a period in which there were high-level programming
languages to be chosen from. John Harris spends his free time hacking
games and the reward it’s simply just the satisfaction of doing it.
Today, many developing tools(popular web-developing frameworks like
React and Vue, OS like Linux) are being freely distributed and
maintained by the open-source community, they did it out of love,
intrinsic motives, and beliefs of hacker ethics. I think the longevity
of good products would be better off to keep open-source than
exclusive. It sounds communist but we've seen countless examples of
how bad greed and power disrupt. When kept open-source, the software
is constantly being corrected by the masses and reflects the median of
the mass opinions, rather than being centralized to a selected group
of people who maybe don't even under the basics.
I don’t believe in one-dimensional and believe that we could always be
the best of both worlds. In modern-day software development theme, we
are expected to be professional as there are strict deadlines and
expectations for working in a software company to develop software.
Software engineers are expected to develop reliable and ethical (a bit
ambiguous/idealistic) software products that have much real-world
impact. Instances such as CrowdStrike and Microsoft outages should be
strictly avoided due to the power they have on the economy and social
impact. However, in addition to being professional, I think
programmers should have a love for computing in their hearts. People
who don't care will never make great products. As a CS student there
are multiple instances where I get burned out studying the subject,
what pulls me back on track has always been self-discipline(what you
need to go far in anything) and my general love for computing. No
matter what I’m doing, browsing online, playing games, or learning
computer concepts, I love sitting in front of my computer and learn
new things on it. After finishing Lvey’s book, I realized I have been
practicing some of the hacker’s ethics without knowing and I believe
that it’s natural for me to try to keep on practicing the hacker
ethics and perfectionism.
Nerds and Hackers
Sunday, September 29, 2024
I found that Paul Graham’s version of a hacker mostly matched Steven
Levy’s description with a slight emphasis on independence. Paul
believes that hackers are makers, just like painters and architects,
they thrive on learning by doing(hands-on imperative). Levy emphasizes
the revolutionary spirit, communal aspects, and ethical dimension of
hacking, while Graham focuses on individual creativity and the maker
mindset. Paul Graham presents a more uncritical, positive portrayal of
hackers and his perspective is more aligned with current
entrepreneurial and technological trends. He pointed out that modern
hackers(software engineers) are merely technicians who translate the
visions (if that is the word) of product managers into code. Compared
to video game companies in the 80s who praised their star hackers,
nowadays for big companies the default plan is to suppress
creativities. They do it because it decreases the standard deviation
of the outcome. Only a small percentage of hackers can design
software, and it's hard for the people running a company to pick these
out. So instead of entrusting the future of the software to one
brilliant hacker, most companies set things up so that it is designed
by a committee, and the hackers merely implement the design. The
problem is that when you damp oscillations, you lose the high points
and the low. Nowadays it’s rarer for large companies to come up with
innovative software, but there’s still hope in smaller organizations
and individual programmers.
Deriving from original MIT hackers, with less emphasis on hacker
ethics, Paul believes that hackers are craftsmen, who practice design
through software development and care significantly about the
execution and details of their creation. Ironically, he also points
out that “It's odd that people think of programming as precise and
methodical. Computers are precise and methodical. Hacking is something
you do with a gleeful laugh.” Paul’s version of a hacker is someone
who has the traits of playfulness and creativity, as well as the
technical ability to dedicate his leisure time to writing beautiful
software. Paul parallel with his own experience of learning and doing,
pointed out that you should figure out programs as you're writing
them, just as writers painters, and architects do. Contradicated to
what we have learned in school which is to figure out the program on
paper before we even write a single line of code. He called this
process “ sketching”. He draws similarity to how painters figured out
the details of painting as they progressed, no one figured out the
whole painting at first. I see the reasoning behind this approach, as
much like how people prefer different indentation styles for curly
brackets, I prefer to sketch on a piece of paper. As much as I love
working on my computer, there’s something magical about picking up a
metal pen and scratching your idea on a piece of paper, taking a short
break for your eyes from the computer screen.
There are some interesting points Paul made to support his argument.
Painters leave a trail of work behind them, you can watch them learn
by doing. If you look at the work of a painter in chronological order,
you'll find that each painting builds on things that have been learned
in previous ones. When there's something in a painting that works very
well, you can usually find version 1 of it in a smaller form in some
earlier painting. Paul argues that hackers become great through a
similar approach, they learn how to write beautiful programs by
watching other people’s programs and the way to create something
beautiful is often to make subtle tweaks to something that already
exists, or to combine existing ideas in a slightly new way. It’s
obvious that Paul sees hackers as creative and this description
greatly matches the modern artistic creative scene. Often, new music,
art, and movies are made from the adoption of something that already
exists. As I was studying at art school, such an approach is common as
we describe this process as pulling from inspiration, and often the
final product is a mush before various inspiration sources. A story I
want to share is, for a long time when I was studying at art school, I
struggled with the belief that it’s up to artists to come up with
something completely original. Later I learned that this is not true
and everything comes from inspiration and mimicking. There’s no new
idea under the sun, everything is a reference to things that existed
prior, and the only thing new is our point of view, how we express it,
design it, and present it will make the idea new.
To Paul, hackers are similar to painters, someone who use code as a
medium for creative expression(innovation and unique software), much
like how painters smudge their paint on canvas. As a student who came
from fine arts training, I could strongly resonate with this
connection. My introduction to computer science came from creative
play which uses code as a tool for creative expression, much like
painting on a canvas. As far as the readings we have done so far, this
week’s reading is something I resonate with and learned from the most.
I get to validate lots of my own beliefs through Paul’s writing. I
think Paul Graham's version of a hacker is largely compatible with
Steven Levy's description. His arguments for modern hackers validated
a lot of my own beliefs and I think I aligned more with his version of
hackers than the hackers presented by Steve Levy. One thing that stood
out to me is to create your vision of software, the benefit of working
in a startup will exceed translating someone else vision in a large
company. A side note, by Paul’s description of how he’s friends with
lots of kids from the “freak” group in high school, I laughed out loud
because I have never thought I matched the description of freaks and
I’ve always wondered why I’m naturally gravitated towards making
friends with those who consider as “nerds”. Marginalized group support
each other I suppose.
The Cathedral and the Bazaar
Sunday, November 3, 2024.
Free for All
I’ve heard many stories about how Linux is a top-of-the-line example of a successful open-source project and am always curious how it rose to such status. What perplexes me is the concept that a large group of people are willing to work together, and dedicate their time to create something beautiful, robust, and free. Perhaps it shouldn't come as a surprise since the video games MOD community has been thriving for a while. It’s obvious that the U.S. runs in a capitalist environment and everything comes with a price, especially an expert programmer’s free time. Such a concept of open source projects seems rather “hippy” or “communist”. Where do we generate profit? Perhaps most capitalists would ask. As I progressed reading, it became clear to me how a “bazaar” software development model has its strengths and makes sense. Perhaps the most reasonable explanation would be we willingly do something out of love and satisfaction, and how the process creates value for like-minded people and the community.
The lesson ESR talks about provided great insight into the principles of a great programmer and why an open-source programming community is superior and often yields higher-quality programs than a close source. ESR talks about how treating users as co-developers is the least hassle route to rapid code improvement and effective debugging. Such an approach requires a large enough beta-tester and co-developer base, and almost every problem will be characterized quickly and the fix obvious to someone. Assuming the user is largely experienced developers would feel comfortable making contributions. Compared to proprietary software which relies on a selected few programmers to build a reliable and stable product, ESR talks about Linux’s early and Frequent releases rather than building out a good prototype with fewer mistakes, release early, and release often. “More users find more bugs because adding more users adds more different ways of stressing the program.” Similar to many open-source games such as Dota and Doom, the source code is open for the players to create MOD. Thus, ensuring the longevity and rapid development of the project, given a large enough community.
In the software landscape today, the majority of software follows the cathedral approach, which greatly ties to how a company is structured. The needs of order, structure, and small groups of contributors that hold all the power. Cathedral approach is rather a reflection of the capitalist society and for-profit software and companies. Open source project seems rather a utopian and ideal version of hacker ethics which hackers dedicate a great amount of resources to keep alive(leisure time, their passion). To me, open source projects represent the rebellious ambition of hackers, it’s their voice and vision of how an idealistic world should be. Remember how the Homebrew Computer Club members passionately advocated for personal computing as a way to decentralize technology, to democratize computing from the dominant force in which large corporations and government institutions had exclusive control over powerful, centralized computing systems?
Which model is superior? Can they mutually exclusively exist? I think diversity is always a healthy sign for a macro environment. Greater diversity usually means greater possibilities that something could evolve, which also prevents stagnation and obsolete. Currently, proprietary software significantly overweight open-source projects. To ensure a prosperous future of the software macro environment that stays innovative, new open-source projects should be encouraged or rewarded. Most importantly, I think the idea of open-source software and the reason for its importance should be spread out more among the developer community.