자유 소프트웨어 개발 모델 : 대성당과 바자

자유 소프트웨어 개발 모델

자유 소프트웨어 개발 모델

The Cathedral and the Bazaar는 1.998 년 Eric S. Raymond가 자신의 관점과 경험에서 설명하기 위해 개발 한 매니페스트 형식 문서입니다 (Fetchmail 개발). 그는 특히 그가 개인적으로 부르는 'Cathedral Model'과 'Bazaar Model'이라는 소프트웨어 개발 모델 간의 차이의 관점에서 리눅스와 관련 프로그램의 성공적인 생성과 발전에 대해 이해했습니다.

그리고이 출판물에서 우리는 자유 소프트웨어 운동의 개발자들 사이에서 매우 인기있는 선언문의 분석과 요약을 제공 할 것입니다. 웹의 여러 부분에서 무료로 사용할 수 있고 액세스 할 수 있지만 다음 웹 링크에서 다운로드하여 더 빠르게 액세스 할 수 있습니다. 대성당과 바자.

대성당 및 시장 소개

소개

“The Cathedral and the Bazaar”라는 자료는 소프트웨어 엔지니어링의 세계에는“완전히 다른 두 가지 개발 스타일이 있다는 비전을 제시합니다., 성당 모델, 상용 소프트웨어 세계에서 이루어진 대부분의 개발에 적용 할 수 있으며, 시장 모델에 비해 Linux 세계에서 더 일반적입니다.

이 두 모델은 소프트웨어 디버깅 프로세스의 특성상 반대되는 시작점에서 파생된다는 점을 강조합니다., 그리고 그가 Linus의 법칙이라고 부르는 것에 대한 그의 특별한 이론은 다음과 같습니다 : "충분한 수의 눈이 주어지면 모든 오류는 관련이 없습니다."또는 다른 말로 : "충분한 수의 눈으로 모든 오류 그들은 사소한 일입니다.”.

그리고 그것은 해커라는 단어를 강조합니다. 제 생각에 저자는 프로그램을 이해하고 효율적으로 활용할 수있는 일종의 고급 사용자로 표현했습니다., 그리고 전체 사용자 커뮤니티에 대한 효율적인 형태 및 내용의 수정 또는 수정을 감지, 제안 또는 구현합니다.

다른 문헌에서 Hacker라는이 단어 또는 개념은 다음을 의미합니다.

«특정 주제 영역, 특히 기술 영역에 대해 열정적이며 양성 목적을 위해 해당 지식을 활용하는 것이 목적인 전문가입니다. 지식에 열정적이며 새로운 것을 발견하고 배우며 작동 방식을 이해하고 효과적인 제안과 제안으로 개선의 요점에 도달하고 항상 의도를 가진 사람은 일반적으로 지식 분야의 전문가입니다. 지식을 공유하거나 연구 대상의 실패 또는 오작동을 피하십시오.

인간 지식의 모든 영역에 "해커"가 있기 때문에 더 보편적이고 실제적인 개념입니다.

자유 소프트웨어 개발의 전제

DESARROLLO

그러한 자료를 읽은 많은 사람들 중 "리눅스가 파괴적이다"라는 생각이 거기에 분명하게 표현되어 있다는 것에 동의하는 많은 사람들이 분명히있을 것입니다. 그런데 왜?

그 순간까지 "처음부터보다 중앙 집중화되고 계획된 접근 방식"을 기반으로하는 표준화 된 소프트웨어 개발 방법 또는 모델의 다양성 소프트웨어를 만드는 행위가 "특정 중요 복잡성"으로 이어지는 무언가와 관련된 것으로 간주 되었기 때문입니다.

작은 도구, 신속한 프로토 타이핑 및 진화 프로그래밍으로 구성된 Unix 세계가 이미 존재했지만 Linux에서 자유 소프트웨어 개발 철학의 출현은 문제를 다른 수준으로 정교하게 만들었습니다.

동안 개인 소프트웨어 개발의 세계에서는 "조용하고 경건한 방식"으로 이루어졌습니다., 성당이 지어진 것처럼 자유 소프트웨어 개발의 세계 (Linux)에서는 "시끄러운 방식으로 여러 의제 (경로) 및 접근 방식 (제안)을 사용하여"수행되었습니다., 당신이 위대한 시장에 있었던 것처럼.

이 위대한 선언문은 자유 소프트웨어 개발 모델과 관련하여 여기에 표현 된 아이디어를 요약하기위한 몇 가지 전제를 제공합니다.

전제 1 : 대성당과 바자

전제 # 1

소프트웨어의 모든 좋은 작업은 개발자 자신의 개인적인 문제를 해결하기 위해 시작됩니다.

부인할 수없는 현실입니다. 자유 소프트웨어 개발 분야에서 일하는 많은 사람들은 일반적으로 개인적인 문제 나 집단 또는 그룹의 문제를 해결해야하기 때문에 시작합니다., 또는 이미 더 느리거나 반복적 인 방식으로 실행 된 프로세스를 최적화하기 위해, 참여하는 사람들에게 종종 지루하고 지루해지며 관련된 사람들의 시간과 노력을 최대화하려고 노력합니다.

전제 2 : 대성당과 바자

전제 # 2

좋은 프로그래머는 무엇을 써야하는지 알고 있습니다. 무엇을 다시 쓰고 재사용해야하는지 가장 잘 알고 있습니다.

모든 프로그래머는 프로그램이나 응용 프로그램을 개발할 때 처음부터 시작하는 것이 나쁘거나 불필요한 것이 아님을 알고 있습니다. 그러나 시작하는 많은 사람들과이 문제에 대해 이미 지식이있는 다른 사람들에게는 때때로 "바퀴를 발명하는 것"이 ​​그다지 효율적이지 않다는 것은 잘 알려져 있습니다. 그러나이를 최적화하고 자신의 필요에 맞게 조정하는 것이 좋습니다. 즉, 우리 자신의 소프트웨어 개발을 해결하기 위해 우리와 관련된 분야의 다른 전문가로부터 가능한 한 많은 코드를 다시 작성하고 동화하는 것이 좋습니다.

전제 3 : 대성당과 바자

전제 # 3

"적어도 하나를 폐기하는 것에 대해 생각해보십시오. 결국 그렇게하게 될 것입니다."

좋은 소프트웨어 개발자는 자신의 개발 사용자가 말하거나 제안하거나 제안하는 내용을 자세히 듣는 방법을 알아야합니다. 이미 작동중인 프로그램은 기능적 임에도 불구하고 여전히 매우 큰 무언가가 될 수 있기 때문입니다. 모든 사람을 위해 모든 것을하는 기능성 몬스터, 그리고 다시는 유쾌하지 않은 무언가. 따라서 원점으로 돌아가고, 잃어버린 사용자를 되찾고, 새로운 기능을 추가하고, 불필요한 기능을 제거하고, 프로그램을 더 작고, 더 구체적이고, 일반적으로 만드는 것은 항상 좋은 습관입니다.

전제 4 : 대성당과 바자

전제 # 4

올바른 태도를 가지고 있다면 흥미로운 문제가 당신을 찾을 것입니다.

태도와 시간의 좋은 변화는 현재 또는 새로운 개발에서 각 프로그래머 또는 소프트웨어 개발자에게 급격한 변화를 의미 할 수 있으며, 이는 제품 사용자에게 시간, 비용 또는 편안함의 새로운 이점을 의미합니다. 올바른 방향으로 좋은 증상으로 나타나는 문제를 해결하는 혁신적인 방법을 찾으십시오.

전제 5 : 대성당과 바자

전제 # 5

프로그램이 더 이상 흥미롭지 않을 때 마지막 임무는 유능한 후임자에게 전달하는 것입니다.

많은 프로그래머 나 소프트웨어 개발자는 물론 다른 기술자에게 새로운 프로젝트에 새로운 시간을 할애하고 싶어하는 것은 드문 일이 아닙니다. 그러나 자유 소프트웨어의 세계에서 전제는 지휘봉을 통과하는 것입니다. 이미 버려진 제품의 개발을 계속하려는 다른 사람들이 있습니다.이를 위해 누구나 자신을 위해 또는 자신을 위해 프로그램을 해킹 (개선) 할 수 있어야합니다. 프로그램의 커뮤니티 사용자 혜택.

전제 6 : 대성당과 바자

전제 # 6

사용자를 공동 작업자로 대하는 것은 프로그램을 신속하게 개선하고 효과적으로 디버깅 할 수있는 덜 복잡한 방법입니다.

자유 소프트웨어 개발에서 "무료"는 종종 "무료"로 해석되기 때문에 많은 프로그래머는 다른 개발자 또는 개발의 고급 사용자와 협력하여 무급 마모를 방지하기 위해 함께 그룹화하는 경향이 있습니다. 향후 코드 혁신의 개발에 "크레딧"을 받고 향후 개발에 공식적으로 일부 라이선스를 포함하여 오용을 방지하는 대가로 계속 사용하십시오.

전제 7 : 대성당과 바자

전제 # 7

곧 출시하세요. 자주 시작하십시오. 그리고 사용자의 말을 듣습니다.

독점 소프트웨어 개발의 세계와 달리 자유 소프트웨어에서는 훨씬 빠르고 더 나은 경우가 많습니다. 일반적으로 커뮤니티에서 프로그램을 사용 및 개발하고 차례로 서로 상호 작용하는 광범위한 사용자 및 개발자 기반이 의심, 제안, 제안, 불만 및 / 또는 주장을 전달하기 위해 귀중한 소스가 될 수 있습니다. 프로그램을 성숙한 개발 단계로 빠르게 발전시키기위한 지식.

전제 8 : 대성당과 바자

전제 # 8

테스터와 협력자에 대한 충분한 기반이 주어지면 거의 모든 문제가 신속하게 식별되고 그 해결책이 누군가에게 분명 할 것입니다.

자료는 독자가 Bazaar 모델에 기반한 소프트웨어 개발 방법이 매우 효과적이라는 결론을 내리는 것으로 끝납니다. 소프트웨어 개발자가 사용자에게 프로그램에 대해 더 많은 권한, 자유 또는 지식을 제공할수록 집단적 이익을 위해 독창적 인 아이디어 나 유용한 변경 사항에 더 많이 기여할 수 있습니다.

그리고 이것은 자료에서 다음 발췌 부분에서 즐겁게 표현됩니다.

"이것이 대성당과 시장 스타일의 근본적인 차이점이라고 생각합니다. 성당이 프로그래밍을 바라 보는 방식에 따르면 실수와 개발 문제는 교활하고 깊고 뒤틀린 현상입니다. 소수의 헌신적 인 사람들이 자신이 제거되었다는 확신을 갖기 위해서는 수개월의 조사가 필요합니다. 따라서 새 버전을 출시하는 데 오랜 시간이 걸리고 오랫동안 기다려온 버전이 완벽하지 않을 때 경험 한 필연적 인 실망감이 있습니다.

그러나 시장 모델에 비추어 볼 때 오류는 일반적으로 사소한 문제이거나 적어도 수천 명의 헌신적 인 협력자의 열렬한 시선에 노출되면 오류가 빨리 될 것이라고 가정합니다. 모든 새 버전에 대해 다른 방법으로. 따라서 더 많은 수정 사항을 얻기 위해 자주 버전을 출시하고 있으며, 이따금 엉망이 되어도 잃을 것이 적습니다. "

결론 : 대성당과 시장

결론

개인적으로 Bazaar 형 모델에서 자유 소프트웨어 개발 분야에 대한 나의 작은 경험은 다음과 같은 결론을 내립니다.

  • 사용자는 귀중한 자원으로 취급되어야하며, 최상의 경우에는 제품 개발에있어 협력을위한 귀중한 동맹 자로 취급되어야합니다.
  • 때로는 가장 적게 의심되는 것이 개발을위한 훌륭한 솔루션이나 개선이 될 수 있기 때문에 모든 아이디어는 훌륭하거나 탐구 할 가치가 있습니다.
  • 원래 아이디어가 원래 개념에서 분리, 확장 또는 이동하는 것은 좋거나 가능성이 있지만 중요한 것은 서비스, 서비스 또는 도움을 원하는 사용자 시장 유형 측면에서 얼마나 집중해야 하는가입니다.
  • 효율성을 높이고 분산으로 인한 노력 손실을 방지합니다.
  • 가장 좋은 것은 작고 직접적이며 간단하지만 커뮤니티에서 올바른 것으로 평가할 수있는 효율적인 코드입니다.
  • 추가는 항상 고려할 수있는 좋은 가능성이기 때문에 더 이상 제거 할 것이없는 사용자 커뮤니티를 위해 프로그램은 이미 성숙되었습니다.
  • 모든 프로그램을 (부분적으로 또는 전체적으로) 원래 고안되지 않은 기능에서 재사용 할 수 있습니다.
  • 모든 소프트웨어는 사용자 데이터 사용의 기밀성을 위해 각각의 라이선스 및 보안 조치를 취해야합니다.
  • 처음부터 시작할 필요는 없으며 누군가는 항상 우리가 생각한 아이디어와 비슷한 것을 개발했습니다.
  • 사람은 자신이 좋아하는 것에 대해 작업해야하며, 소유의 감각을 개발하는 극단적 인 수준에 도달하지 않고 정교한 내용과 내부적으로 연합 감을 생성하기 위해 자유 소프트웨어에 자신을 바칠 개발에 대한 열정을 느껴야합니다. .
  • 개발자와 사용자 (공동 작업자)간에 우수하고 빈번한 커뮤니케이션 수단이 있어야 작업이 빠르게 진행되고 효과적으로 변경됩니다.

"성당과 시장"에 대한 읽기는 크든 작든 자유 소프트웨어 개발을 프로그래밍하는 모든 사람들에게 필수 참고 자료이기 때문에이 정보를 좋아하고 유용했으면합니다.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

6 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   나시 보이

    좋은 요약 / 의견, 나는 "코드가있는 모니터"의 너무 많은 이미지를 제거하여 아무것도 고려하지 않을 것입니다.

    1.    Linux 설치 후

      시스템 개발 문제에 적절 해 보였고 더 이상 제거하는 것이 옳지 않지만 관찰 해 주셔서 감사합니다!

  2.   베이론

    훌륭한 요약과 비유.

    1.    Linux 설치 후

      친절하고 긍정적 인 의견에 대해 Bayron에게 감사드립니다.

  3.   트리니다드 에두아르도

    이 중대한 공지를 축하합니다. 나는 "하나님의 왕국에서"모든 것이 자유롭고 자유 롭다고 믿는다. 그렇지 않으면 개발자들은 우리가 "가이사에게 속한 것을 카이사르에게 주어야한다"는 것을 이해하지 못하거나 이해하고 싶지 않은 사람들에 의해 전복 자들에 의해 계속 순교하거나 십자가에 못 박힐 것이다. Caesar… 그리고 신에게 속한 것은 신에게 속한 것»… Gratuity (무료)는 햇빛이나 숨쉬는 공기와 같이 본질적으로 신성합니다… 자유는 필요하지만 현재 독점 소프트웨어와 같은 불행의 시장에 의해 타락하고 있습니다.

    1.    Linux 설치 후

      안녕하세요, Eduardo de Trinidad. 귀하의 의견과 기여에 감사드립니다.