오늘은 GNU 에 대해 알아보자.
GNU : GNU is Not Unix
뭐가 좀이상하지. 나도 잘이해가 안되는데
왜 저렇게 이름을 지었는지. 이름안에 이름이 있고 또 이름안에 이름이 있고 ㅎㅎㅎ
이들이 추구하는 이념, 생각을 이해하고, 그게 GNU 이다라고,
그냥 "사과" "바나나" 처럼 고유명사(?)로 생각하는게 맘 편한거 같아.
GNU 가 추구하는 이념, 생각은 바로!
자유 소프트웨어,
누구나 자유롭게 맘대로 쓸수 있다. 라는게 핵심인거 같아.
(간단한 말이지만, 복잡한뜻을 내포하고 있어.
특히 조심해야 할꺼는 여기도 라이선스 규정이 있어서, 내가 맘대로 가져다 쓰는건 자유지만,
그 말은 내꺼도 '내가 개발한, 혹은 회사가 개발한 소프트웨어도' 공개해야 한다는거야.
GPL, LGPL, AGPL 등등. 이게 내가 나 혼자 취미로 하면 공개하건말건 상관이 없겠지만 ,
회사같은곳에서 공식적으로 사용해야 할경우엔
변호사의 도움이 필요할수도. 회사정보보호(핵심 기술, 알고리즘등) 도 중요하고,
공개할때도, 어디까지 공개해야 하는가가 중요하거든.)
그럼 이 GNU 진영(단체)가 하는일이 뭘까?
프로그램 만들어서 누구나 사용할수 있도록 배포한다!!!!
대표적인 프로그램(프로젝트) 는
1. make (프로그램 조금만 했어도 들어봤을법한 프로그램인데)
맞아. 너가 사용하는 그 make
이 make 가 GNU 에서 만든거고, 지금도 관리 하고 있는 프로그램이야.
https://savannah.gnu.org/git/?group=make
2.gcc : GNU Compiler Collection
오픈소스 컴파일러로 무료 컴파일러야 ( c, c++ 뭐 이런거 컴파일할때 쓰는건데. )
물론, 무료 컴파일러라는건 반대로 상용 컴파일러를 만드는 회사도 있겠지.
예를 들어 arm 아키텍쳐를 사용하는 경우, arm , IAR, keil 등등 상용컴파일러(돈주고 쓰는)도 있는거지.
상용을 쓰면 좋은거? 돈주고 쓰면 당연히 써비스가 좋고 내가 문제가 생겼을때 도움을 받거나, 내 소프트웨어 인증(ex.ISO26262) 받을때도 유리하지.
또 뭐가 있을까.
3.gdb : GNU Debugger
4.gnu/linux
5.
6.................................
결론은. GNU 는 자유 소프트웨어를 추구하는 단체(모임) 이고,
여기서 여러가지 프로젝트를 진행한다. 그리고 대중들이 쓸수 있도록 배포한다.
우리는 그런 훌륭한 소프트웨어를 무료(?) 로 사용이 가능하다는거야. (그리고 기여하면 더 좋겠다~~가 이들이 바라는것인듯)
나중에 gcc, make, gdb 도 한번 깊이(?) 이 블로그에 남기도록 시간이 있기를..
재미삼아, 생각해볼수 있는 문제.
1.Microsoft visual studio 컴파일러는 상용이야?
2.LLVM
3.IOS, ANSI-C 표준하고 관계?가 있어?
'소프트웨어 엔지니어 > 일반' 카테고리의 다른 글
| [소프트웨어 엔지니어] 리눅스 루트파일시스템 (5) | 2024.10.16 |
|---|---|
| POSIX 를 따른다? 따르라? (3) | 2024.10.03 |
| GPU? NVIDIA? 왜 요새 난리인가? (7) | 2024.09.26 |
| [소프트웨어 엔지니어] 에자일 방법론 (1) | 2024.09.19 |
| [소프트웨어 엔지니어] 캡슐화 추상화 (1) | 2024.09.17 |