CodeGym /Java Blog /무작위의 /오픈 소스 소프트웨어. 그것은 무엇이며 시도해 볼 가치가 있습니까?
John Squirrels
레벨 41
San Francisco

오픈 소스 소프트웨어. 그것은 무엇이며 시도해 볼 가치가 있습니까?

무작위의 그룹에 게시되었습니다
오픈 소스 소프트웨어인 OSS의 급속한 성장으로 인해 IT 분야에서 성공하려는 사람은 누구나 이러한 흐름에 익숙해지고 그 뒤에 무엇이 있는지 이해해야 합니다. 이름에서 알 수 있듯이 오픈 소스 소프트웨어는 공개적으로 액세스할 수 있기 때문에 사람들이 검사, 수정, 향상 및 공유할 수 있는 것입니다. 오픈 소스 소프트웨어.  그것은 무엇이며 시도해 볼 가치가 있습니까?  - 1즉, 누구나 보고, 버그를 수정하고, 업그레이드하고, 다른 사람에게 배포할 수 있는 오픈 소스 코드입니다. 일반적으로 다른 프로그래머의 검토와 협력을 바탕으로 공동으로 개발됩니다. 그리고 오픈 소스 소프트웨어는 단일 작성자나 단일 소프트웨어 회사가 아닌 커뮤니티에 의해 만들어지기 때문에 자연스럽게 더 저렴하고 유연하며 대부분의 경우 독점 소프트웨어보다 수명이 더 깁니다.

모든 것이 언제 시작되었나요?

오픈소스가 상대적으로 새로운 움직임이라고 생각한다면 놀랄 것입니다. 그 뿌리는 연구자들이 인터넷 및 통신 네트워크 프로토콜을 개발하기 시작한 1950년대와 1960년대로 거슬러 올라갑니다. 이러한 기술은 개방적이고 협력적인 연구를 기반으로 했으며, 이 원칙은 나중에 인터넷의 기초가 되었습니다. 오늘날 우리가 알고 있는 오픈 소스 소프트웨어는 1983년 MIT의 프로그래머인 Richard Stallman이 소스 코드를 무료로 공개하면서 시작되었습니다. 그는 전 세계의 프로그래머가 원하는 대로 수정하고 발전시킬 수 있도록 액세스할 수 있어야 한다고 믿었습니다. 그의 접근 방식은 확고해졌고 점차적으로 1998년 오픈 소스 이니셔티브(Open Source Initiative)의 형성으로 이어졌습니다.

오픈 소스 소프트웨어와 다른 유형의 소프트웨어

아래에서는 오픈 소스 소프트웨어와 다른 유형의 소프트웨어의 주요 측면 중 일부를 비교합니다.

제어

위에서와 같이 OSS와 다른 유형의 소프트웨어 사이의 주요 차이점은 소스 코드를 보거나 복사하거나 수정하려는 모든 사람이 사용할 수 있다는 점을 이미 짐작했을 것입니다. "독점" 소프트웨어의 경우 한 사람이나 팀만이 이에 대한 독점적인 통제권을 유지합니다. 그렇기 때문에 일반적으로 소스 코드에 대해 아무 작업도 수행하지 않아도 되는 라이선스에 동의해야 하는 "비공개 소스" 소프트웨어라고도 합니다. 즉, 오픈 소스 소프트웨어도 일반적으로 라이센스가 부여됩니다. 그러나 법적 조건은 독점 라이센스의 조건과 크게 다릅니다. 이는 컴퓨터 사용자에게 원하는 목적으로 소프트웨어를 사용할 수 있는 권한을 부여합니다. 또한 일부 오픈 소스 라이선스에는 프로그램이나 코드를 변경하는 사람은 누구나 라이선스 비용을 청구하지 않고 이를 다른 사람과 공유해야 한다고 명시되어 있습니다. 즉, 사람들이 자신의 성과를 분배하도록 장려합니다.

비용

"오픈소스"는 무료인가요? 항상 그런 것은 아닙니다. 오픈 소스 소프트웨어 프로그래머는 자신이 만들거나 기여하는 소프트웨어에 대해 일부 비용을 청구할 수 있습니다. 또는 소프트웨어 서비스 및 소프트웨어 지원에 대해서만 비용을 청구하는 경우도 있습니다. 이런 방식으로 소프트웨어는 무료이며 프로그래머는 사용자가 소프트웨어를 설치하거나 문제를 해결하도록 도와줌으로써 돈을 벌 수 있습니다. 하지만 독점 소프트웨어에 비해 이 비용은 훨씬 더 저렴합니다.

보안

문제 해결이라는 주제를 다루면서 소프트웨어 유형에 관계없이 코드 결함이 여전히 존재한다는 점은 주목할 가치가 있습니다. OSS에서는 소스 코드가 누구에게나 공개되어 있기 때문에 버그 수가 훨씬 적지만 "코드에 더 많은 관심을 가질수록 버그가 생존하기가 더 어려워집니다." 또한 버그 수정을 담당하는 사람 사이에는 차이가 있습니다. 즉, 상용 소프트웨어에 대한 책임은 공급업체에 있습니다. 동시에 사용자는 오픈 소스 소프트웨어에 대한 책임이 있습니다.

설계

디자인 측면에서 OSS는 일반적으로 몇 가지 포인트를 잃습니다. 협업과 공유를 장려하는 정책을 펼치고 있기 때문에 사용자 친화적인 디자인보다는 개방성에 중점을 두고 있습니다. 따라서 기본적으로 영리 목적의 제품은 적응성과 사용자 경험을 주요 관심사로 삼아 사용하기가 더 직관적이고 간단합니다.

보증

"비공개 소스" 소프트웨어가 승자가 되는 또 다른 영역은 보증 조건입니다. OSS에 보증이 전혀 없다는 사실은 놀라운 일이 아닙니다. 대조적으로, 독점 소프트웨어는 항상 보증으로 뒷받침되는데, 이는 보안 정책을 갖춘 회사에 확실한 이점입니다. 그러나 일부 오픈 소스 솔루션은 매우 인기가 높으며 오늘날 시장 선두주자이기도 합니다. (예: Linux, Apache).

가장 인기 있는 OSS

  • 모질라 파이어 폭스
  • 아파치 웹서버
  • GNU/리눅스
  • VLC 미디어 플레이어
  • 슈가CRM
  • VNC
  • 리브레 오피스
  • jQuery

OSS는 어떻게 작동하나요?

실제로 웹 페이지를 볼 때마다 이메일을 확인하고 음악을 스트리밍하고 비디오를 시청하고 비디오 게임을 하거나 친구와 채팅할 때마다 PC, 게임 콘솔 또는 모바일 장치는 오픈 소스 소프트웨어를 사용하여 글로벌 네트워크에 연결하여 데이터를 전송합니다. "로컬" 장치에 데이터를 보냅니다. 그 일은 누가 다 합니까? 일반적으로 먼 곳에 위치한 "원격" 컴퓨터(사용자가 볼 수 없고 물리적으로 접근할 수 없음). 즉, 사람들은 일상적인 작업을 수행할 때 원격 컴퓨터에 의존합니다. 일부에서는 이 프로세스가 로컬 컴퓨터와 원격 컴퓨터의 글로벌 네트워크를 통합하는 다양한 활동(파일 저장, 사진 공유, 오디오 트랙 듣기 또는 비디오 보기)을 포함하기 때문에 "클라우드 컴퓨팅"이라고 부릅니다. Google Cloud와 같은 일부 클라우드 앱은 독점적입니다. OpenStack 또는 Nextcloud 와 같은 다른 제품은 오픈 소스입니다.

OSS 사용의 주요 이점

대부분의 사람들은 여러 가지 이유로 독점 소프트웨어보다 오픈 소스 소프트웨어를 선호합니다. 향상된 제어 기능. 소프트웨어에 대한 더 많은 제어권을 갖고 싶다면 OSS가 필요합니다. 코드를 검사하여 원하지 않는 작업을 수행하지 않는다는 확신을 가질 수 있습니다. 또한 불필요하거나 쓸모없다고 생각되는 코드 부분을 변경할 수도 있습니다. 이것으로부터 우리는 OSS가 훈련에 완벽하다는 결론을 내릴 수 있습니다. 학습 과정을 이제 막 시작했다고 가정해 보세요. 그렇다면 오픈 소스 소프트웨어는 확실히 기술을 연마하고 더 나은 개발자가 되는 데 도움이 될 수 있습니다. 또한 다른 사람과 작업을 공유하여 댓글, 비평, 칭찬을 받을 수도 있습니다. 더 나은 안전. 이미 언급했듯이 오픈 소스 소프트웨어는 누구나 실수나 누락을 보고 수정할 수 있으므로 더욱 안전한 것으로 간주됩니다. 그리고 무한한 수의 프로그래머가 작성자의 허가를 요청하지 않고도 동일한 오픈 소스 소프트웨어에서 작업할 수 있으므로 독점 소프트웨어보다 훨씬 빠르게 소프트웨어를 디버그, 업그레이드 및 업데이트할 수 있습니다. 강력한 커뮤니티. 오픈 소스 프로젝트가 종종 세계 각지의 개발자들을 하나로 묶어 제품을 테스트하고, 사용하고, 홍보하려는 모임과 사용자 그룹을 형성하는 것은 놀라운 일이 아닙니다.

대기업에서도 종종 오픈 소스 소프트웨어 솔루션을 사용하는 이유

일반 사용자나 프로그래머만이 OSS 솔루션을 고수하는 것은 아닙니다. 심지어 대기업에서도 OSS를 활용하는 경우가 많습니다. 문제는 무엇입니까? 경제성. 많은 기업들이 독점 소프트웨어에 많은 돈을 쓸 이유가 없다고 생각하여 오픈 소스 소프트웨어로 전환합니다. 또한 기여자가 무료로 제공하므로 소프트웨어 유지 관리 및 업데이트에 대한 추가 비용이 없습니다. 높은 사용자 정의 가능성. 오픈 소스 소프트웨어는 소스 코드를 공유하므로 조직은 언제든지 이를 특정 요구 사항에 맞게 조정하는 숙련된 프로그래머를 고용할 수 있습니다. 공급업체에 연락할 필요가 없습니다. 추가 기능을 기다리는 데 추가 시간이 필요하지 않습니다(때때로 시간이 오래 걸립니다). 적응성. OSS 소프트웨어는 특정 아키텍처에 국한되지 않는 확장된 적용 범위를 가지고 있습니다. 이것이 바로 다양한 시나리오, 심지어 가장 복잡한 시나리오에서도 제대로 작동할 가능성이 더 많은 이유입니다. 이러한 요소 외에도 기업은 견고한 보안과 더 나은 지원을 중요하게 생각합니다. 그러나 오픈 소스 라이선스에 따라 소프트웨어를 얻는 경우 해당 소프트웨어를 상업적 목적으로 자유롭게 사용할 수 있다는 점을 명심해야 합니다. 그러나 이것이 조직이 나중에 소프트웨어를 사용할 사람들에게 추가 제한을 가할 수 있다는 것을 항상 의미하는 것은 아닙니다. 회사가 소프트웨어를 배포할 때 소프트웨어를 받은 것과 동일한 라이선스 요구 사항을 준수해야 합니다.

오픈 소스 소프트웨어의 일부가 되는 방법

이 흥미로운 이야기에 참여하고 싶으신가요? 그러면 오픈 소스 프로젝트에 쉽게 참여할 수 있습니다. 모든 기술을 환영합니다. 그렇게 하려면 공식 웹사이트나 GitHub 페이지 에서 메일링 리스트를 구독하면 됩니다 ("트렌딩" 링크를 따라가면 가장 인기 있는 프로젝트에 접근할 수 있습니다). 흥미롭고 완전한 초보자나 심지어 프로그래머가 아닌 사람도 OSS 프로젝트에 매우 도움이 될 수 있습니다. 문서를 작성, 업데이트, 번역하거나 질문에 답변하고 신규 사용자를 안내하는 것만으로도 이미 큰 기여를 하고 있는 것입니다. Java 초보자의 경우 프로젝트를 분기하고, 코드를 변경하고, 필요할 때 끌어오기 요청을 보낼 수 있습니다. 품질 지원과 보증은 언제나 높이 평가됩니다!

결론

보시다시피 오픈 소스 소프트웨어 프로젝트는 참가자와 사용자 모두에게 많은 이점을 가져올 수 있습니다. OSS 경험은 이력서 작성에 도움이 될 뿐만 아니라 같은 생각을 가진 사람들과 협력하여 기술을 연마할 수도 있습니다. 진정한 윈윈!
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION