User Tools

Site Tools


free_software

http://wiki.commres.org/wiki.php/FreeSoftware?action=show&redirect=freesoftware

I saw that the world, the social system that encouraged people to cooperate was being replaced by one in which cooperation was called piracy, and I decided that all I could possibly get by participating in that was money, and that just money was not enough to live for. I had to aim for something more important than that. – From An interview with Stallman, David Bennahum. See http://memex.org/meme2-04.html

Free Software

MS-Dos operating system Fig. 1: MS-Dos operating system

70년대가 지나면서 80년대로 들어서자 컴퓨터가 점차 개인이 사용할 수 있는 환경이 되었다. 비록 현재처럼 일반인들이 일반적인 목적에서 컴퓨터를 사용하는 사회적 분위기는 아니었지만, 사용자 층이 늘어나면서 그 들 사이에서 독특한 문화가 존재하였다. 특히 이 문화는 인터넷의 Usenet, newsgroup을 통해서 확산되었다. 사용하고 있는 컴퓨터의 운영체제에서 제대로 돌아가는 프린터 드라이버가 문제가 생기면 자신이 개선하거나 새로 만들거나 할 수 있는 사용자들이 생기고 이런 프로그램들은 자연스럽게 서로에게 공유되는 분위기였다.

이런 분위기는 맑스가 이야기했던 것처럼 마치 자본주의가 개화하기 전의 사람들의 노동은 곧 자신의 생활과 같은 분위기였다. 컴퓨터 사용자들은 주로 대학교나 상업적인 회사의 연구원으로 연구생활을 하면서 부가적으로 혹은 필요에 의해서 소프트웨어를 만든다는 생각이 강하였다. 앞서 인터넷 역사에서 언급되었던 인물들에게 연구업적이란 “경제적인 성공”와 연결되는 것이 아닌, 원하는 테크놀로지의 구현과 실현, 그리고 완성되어 가는 기술에 동참하여 더 나은 기술을 만들어가는데 만족감을 느끼는 것과 같았다고 묘사하면 크게 틀린 것이 아니듯이 컴퓨터 사용자들은 초기에 자신들이 과학세계의 (scientific worlds) 일부이며, 자신들이 이루어 놓은 업적이 선행된 업적에 또 다른 하나를 더하는 가치있는 작업이라는 만족하는 경향이 있었다1). 즉, 소프트웨어는 곧 돈을 버는 수단이라는 생각은 극히 제한적이었다. 예를 들면, 초기의 Bell labs2)에서 개발된 Unix 운영체제는 초기에 비용이 지불되지 않는 상품이었다 3).

Open Letter to Hobbyists by Microsoft Fig. 2: Open Letter to Hobbyists by Microsoft
IBM4)이 bios를 공개하고, 이로써 IBM과 같은 기능을 하는 컴퓨터들이 확산되면서 5) 컴퓨터에 Personal이라는 단어가 붙기 시작할 무렵 이와 같은 생각이 소수화되기 시작하였다. IBM pc에 탑재되기 시작했던 Operating System인 Microsoft Dos의 확산과 이와 관련되니 프로그램의 개발이 상업적인 성공을 거두게 될 무렵 (WordPerfect를 기억하는가) 에는 이 경향이 심화되었다. 경영과 이익을 추구하는 프로그래머가 생기는 반면에, 자신을 과학자로 생각하는 프로그래머들이 생기게 되었다. 역사상 최고의 성공을 거둔 개인으로 평가되는 Bill Gates는, 1976년 2월 3일자로 해커들에게 보내진 그의 편지를 통해 두 그룹의 – 따라서 소프트웨어를 보는 철학의 분리를 선언하는 상징적인 인물로 평가된다. 이렇게 공유(sharing)하는 행위와 절도(stealing)하는 행위의 경계가 애매해지면서 소프트웨어는 이제 한 때 노동이 상품화되었던 것처럼 상품화(commodity)가 되어 간다 6). 아니, 보다 정확하게 이야기 하자면, 소프트웨어를 위한 노동이 연구와 생활의 일부였던 것이 점차 상품화 됨으로써 소프트웨어가 프로그래머로부터 타자화 (alienation) 되어 버린다 (<그림, Open Letter to Hobbyists> 참조).

Wordperfect word processor Fig. 3: Wordperfect word processor

Richard M Stallman Fig. 4: Richard M Stallma 1983년 MIT의 Stallman은 7) 8) 자신이 작성했던 프로그램 중 Symbolics사가 고친 부분은 살펴 볼 수 없다는 것, 그리고, Symbolics사가 자신과 주변의 소위 “hacker”라고 불리는 자유스러운 정신을 가진 프로그래머들에게 상업적인 굴레를 씌우는 것에 반대를 하면서 GNU manifesto를 (GNU 강령) 만든다. 이 강령은 소프트웨어는 “굴레로부터 자유롭게 사용되어야 한다9)는 뜻을 담고 있으며, copyright라는 상업적인 굴레가 좀 더 나은, 사회에 도움이 되는 software를 제작하거나 사용하는 환경을 (오히려) 해치고 있음을 주장한다. 그는 초안으로 작성된 GNU manifesto 10)를 더 가다듬어 GNU General Public License 를 만들고 free software를 위한 GNU project를 진행하는 한편, Free Software Foundation을 비영리단체로 설립한다.

In 1971 when I joined the staff of the MIT Artificial Intelligence lab, all of us who helped develop the operating system software, we called ourselves hackers. We were not breaking any laws, at least not in doing the hacking we were paid to do. We were developing software and we were having fun. Hacking refers to the spirit of fun in which we were developing software. The hacker ethic refers to the feelings of right and wrong, to the ethical ideas this community of people had -- that knowledge should be shared with other people who can benefit from it, and that important resources should be utilized rather than wasted. Back in those days computers were quite scarce, and one thing about our computer was it would execute about a third-of-a-million instructions every second, and it would do so whether there was any need to do so or not. If no one used these instructions, they would be wasted. So to have an administrator say, "well you people can use a computer and all the rest of you can't," means that if none of those officially authorized people wanted to use the machine that second, it would go to waste. For many hours every morning it would mostly go to waste. So we decided that was a shame. Anyone should be able to use it who could make use of it, rather than just throwing it away. In general we did not tolerate bureaucratic obstructionism. We felt, "this computer is here, it was bought by the public, it is here to advance human knowledge and do whatever is constructive and useful." So we felt it was better to let anyone at all use it -- to learn about programming, or do any other kind of work other than commercial activity. 
 -- Stallman 인터뷰 at http://memex.org/meme2-04.html

Linus Torvalds Fig. 5: Linus Torvalds
이 정신을 기반으로 만들어지고, 세계의 프로그래머들이 동참하여 완성된 대표적인 소프트웨어가 “Linux”이다. 핀란드의 컴퓨터 사이언스 학부의 대학생이던 Linus Torvalds는 자신이 새로 구입한 PC의 운영체제가 만족스럽지 않아원문소스]] <code> Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all- nighters to get a nifty program working? Then this post might be just for you :-) As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it. Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100) in the directory /pub/OS/Linux. The directory also contains some README-file and a couple of binaries to work under linux (bash, update and gcc, what more can you ask for :-). Full kernel source is provided, as no minix code has been used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile "as-is" and has been known to work. Heh. Sources to the binaries (bash and gcc) can be found at the same place in /pub/gnu. ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix. I'm working on it. You also need to be something of a hacker to set it up (?), so for those hoping for an alternative to minix-386, please ignore me. It is currently meant for hackers interested in operating systems and 386's with access to minix. The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If you are still interested, please ftp the README/RELNOTES, and/or mail me for additional info. I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows), and I've already got minix. This is a program for hackers by a hacker. I've enjouyed doing it, and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I'm looking forward to any comments you might have. I'm also interested in hearing from anybody who has written any of the utilities/library functions for minix. If your efforts are freely distributable (under copyright or even public domain), I'd like to hear from you, so I can add them to the system. I'm using Earl Chews estdio right now (thanks for a nice and working system Earl), and similar works will be very wellcome. Your (C)'s will of course be left intact. Drop me a line if you are willing to let me use your code. Linus PS. to PHIL NELSON! I'm unable to get through to you, and keep getting "forward error - strawberry unknown domain" or something. -- Oct 6, 1991 </code> 위 인용문의 [[http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b |원문소스]] Linux 외에 GPL에 참여하여 만들어진, 그리고 널리 사용되는 소프트웨어를 들어보면: * Operating systems: BSD; Darwin; !OpenSolaris * Compiler: GCC compilers; GDB debugger; C libraries * Relatonal database management systems: !MySQL; !PostgreSQL * 서버: BIND name server; Sendmail mail transport; Apache web server; Samba file server. * 오피스 형 어플리케이션: !OpenOffice * 웹브라우저: Mozilla; Firefox * Graphic: GIMP 그래픽에디터 * 출판 (typesetting): TEX, !LaTex, 등등이 있다((좀 더 자세한 리스트는 http://directory.fsf.org/ 참조.)). 이 글이 쓰여진 위키 또한 [[http://kldp.net/projects/moniwiki/|Moniwiki]] 또한 GNU General Public License (GPL)에 의거하여 만들어지고 배포된 프로그램이며, 이 시스템에는 LaTex와 gnuplot이라는 프로그램이 엠베디드되어 있어 수학공식과 그래프를 표현할 수 있도록 되어 있다. 이런 프로그램들은 사소한 것처럼 보이지만 도처의 프로그래머들이 자신의 필요에 의해서 (수식을 쓸 수 있는 환경, 그 수식에 의거한 그래프를 표현할 수 있는 환경) 직접 만들고 공공에 던진 산물이다. $ \int_0^{2\pi}\sin\ x\ dx $ $ \Large A\ =\ \large\left( \begin{array}{c|ccc},1,2,3\\\hline1,a_{11},a_{12},a_{13}\\ 2,a_{21},a_{22},a_{23}\\3,a_{31},a_{32},a_{33}\end{array}\right) $ 위의 공식은 웹페이지를 통해서 보면 그래픽파일처럼 보이지만 사실은 아래와 같은 내용을 직접 이 위키에 적어 넣은 것이다. <code> $ \int_0^{2\pi}\sin\ x\ dx $ $ \Large\overbrace{a,...,a}^{\text{k a^,s,
\underbrace{b,…,b}_{\text{ l b^,s } }\hspace{10}
\normalsize\underbrace{\overbrace{a…a}^{\text{k a^,s}},
\overbrace{b…b}^{\text{l b^,s } } }_{\text{k+l elements}
} $ 

$ \Large A\ =\ \large\left(
\begin{array}{c|ccc},1,2,3\\\hline1,a_{11},a_{12},a_{13}

2,a_{21},a_{22},a_{23}\\3,a_{31},a_{32},a_{33}\end{array}\right) $
. . . .
</code>

1)
리누스의 자서전적인 책 참조
2)
Bell labs의 역사에 대해서는 http://en.wikipedia.org/wiki/Bell_Labs 을 참조.
3)
Unix는 그러나 소스를 고치거나 새로 부가하는 등의 작업이 허락되지는 않았다. 소스가 공개되어 있으면서도 Unix와 똑같은 기능을 하는 프로그램들을 원하는 사람들이 많이 있어으며 이들이 현재의 오픈소스와 같은 운동과 분위기를 만들었다.
4)
오리지날 IBM PC에 관한 정리는 WikiPedia:IBM Personal Computer를 참조
5)
이를 IBM PC compatible이라고 불렀으며, 오늘 날 사람들이 PC라고 부르는 개인용 컴퓨터를 말한다.
6)
I saw that the world, the social system that encouraged people to cooperate was being replaced by one in which cooperation was called piracy, and I decided that all I could possibly get by participating in that was money, and that just money was not enough to live for. I had to aim for something more important than that. – From An interview with Stallman, David Bennahum. See http://memex.org/meme2-04.html
8)
그에 대한 정보는 WikiPedia:Richard_Stallman 를 참조.
9)
Free는 자유라는 의미를 뜻하지 무료 혹은 공짜를 뜻하는 것은 아니다.
free_software.txt · Last modified: 2016/06/13 10:41 by hkimscil