라이센스의 경우 라이센스에 대한 목표가 무엇인지 물어야합니다. 코드를 기여한 사람들의 커뮤니티를 구축하고 다른 사람이 독점적 인 코드 포크를 만들지 못하도록하는 목표는 무엇입니까? 그렇다면 GPL을 선택하는 것이 좋습니다. 저작권을 유지하고 오픈 소스로 배포 할 수 있지만 독점 소프트웨어와 연결하려는 사람들을위한 대체 라이센스를 제공하는 것이 목표입니까? 다시 말하지만 GPL은 좋은 선택 일 수 있습니다.이 경우 기여를 다시 라이센스 할 수 있도록 변경 사항을 다시 보내는 다른 제공자의 저작권 할당을 설정해야합니다.
코드가 서버 측 소프트웨어 일 수 있습니다.이 경우 AGPL을 조사하고 싶을 수 있습니다. AGPL은 GPL과 비슷하지만 사람들이 자신의 서버 (GPL이 필요로하지 않는 서버)에서 소스를 변경하여 소스를 배포 할 것을 요구합니다.
사람들이 독점 소프트웨어를 작성하는 동안 사람들이 그것을 구축 할 수 있기를 원하지만 여전히 소프트웨어 자체에 대한 변경 사항을 제공하려면 LGPL이 좋습니다. 독점 포크에 신경 쓰지 않고 단순히 허용할만한 것이 있으면 MIT 라이센스를 선택하는 것이 좋습니다.
합법적으로 출시 할 수없는 코드를 제거하는 것만 수정하면됩니다. 모든 코드에 대한 저작권을 소유하고 있다면 모든 코드가 좋지만 암호화 코드는주의해야하며 프로그램에 코드가 있으면 변호사와상의하십시오. 수출 제한은 처리가 어려울 수 있지만, 오픈 소스 소프트웨어에 대해 프로세스를 단순화하는 규정이 있습니다.
필요한 수정 외에도 가능한 한 많은 시스템에서 코드를 작성하고 실행할 수 있는지 확인하는 것이 좋습니다. 예를 들어, 어떤 의존성이 필요한지와 어떤 것을 종속성으로 만들 수 있는지 확인해야합니다. 소프트웨어를 빌드하고 설치하는 방법에 대한 좋은 문서뿐만 아니라 시스템 구축, 단위 및 회귀 테스트 등 모든 소프트웨어 개발 (오픈 소스뿐만 아니라)에서 원하는 모든 일반적인 것들도 좋습니다.
에 대해 생각하는
다른 몇 가지 사항은 다음과 같습니다
- 어떻게 다른 사람들이 당신에게 변경 사항을받을 수 있습니까? 메일 링리스트의 패치?버그 리포트에 첨부 된 패치? 포크에 GitHub?
- 어떤 버전 관리 시스템을 사용합니까? 나는 일반적으로 Git 또는 Mercurial과 같은 분산 된 개정 관리 시스템을지지하지만, Subversion도 매우 인기가 있으며 작업을 수행해야합니다.
- 커뮤니티가 어떻게 작동해야하는지 분명히했는지 확인하십시오. 소프트웨어를 얻는 방법 및 기여 방법, 메일 링리스트 또는 IRC 채널에 대한 포인터 또는 논의 할 매체를 설명하는 웹 페이지. 커미터 또는 커미터 그룹을 갖기 위해서는 커미터 선택 프로세스가 어떻게 작동하는지 문서화하십시오.
나는 더 많은 세부 사항을 올릴 수 있었지만 이미 말한 것들을 반복하고있을 것이다. 자세한 정보가 필요하면 Karl Fogel의 Producing Open Source Software을 읽어 보시기 바랍니다.
이 답변을 주셔서 감사합니다. 정말 도움이됩니다. – MatthieuP