오픈소스의 미래를 위한 원동력

2천만 달러 규모의 오픈소스 지속 가능성 기금에 참여하세요.

컴퓨터 아이콘이 있는 사용자

유지 관리자에게 자금 지원.
경험이 뒷받침됩니다.

히어로데브는 수년간 지원 중단된 오픈 소스 소프트웨어의 문제를 해결하도록 팀을 지원해 왔습니다. Never-Ending Support (NES) 제품을 통해 스타트업부터 포춘 100대 기업에 이르기까지 모든 기업과 협력하여 공식 지원이 종료된 후에도 레거시 코드를 안전하고 안정적이며 규정을 준수하도록 유지해 왔습니다.

유지 관리되지 않는 코드베이스에 대한 패치를 작성하고 아무도 찾지 못한 취약점을 추적하며 급하게 다시 작성하지 않아도 중요한 시스템이 안전하게 실행되도록 유지해 왔습니다. 이 기금은 이러한 작업을 기반으로 구축되었으므로 유지 관리자는 실질적인 지원을 받으며 자신이 가장 잘하는 일을 계속할 수 있습니다.

당사의 기준과 약속

저희 프로그램 기준은 오픈소스 모범 사례를 안내하고 지원하기 위해 생태계 위생과 보안에 중점을 두고 있습니다. 저희는 팀과 협력하여 이러한 기준을 충족하도록 돕고 오픈소스 커뮤니티에서 영향력을 더욱 강화하고 지속할 수 있도록 자금을 제공합니다.

릴리스 및 버전 관리

예측 가능하고 문서화된 버전 관리(SemVer/PEP 440)를 사용하고, 모든 공식 채널을 통해 새 릴리스를 발표하고, CVE 관련 수정 사항을 명확하게 표시하세요.

커뮤니케이션 및 투명성

지원되는 버전, 사용 중단 또는 EOL을 명확히 명시하고 프로젝트 규모에 적합한 타임라인과 함께 변경 사항을 미리 알려주세요.

문서

사용 중단 정책을 정의하고, 사용 중단된 버전에 태그를 지정하고, 지원 일정을 지정하고, 버전이 완전히 제거되는 시기를 표시하세요.

지원 및 지원 중단 처리

명확한 적용/제거 타임라인을 제공하고, 중요한 수정 사항은 LTS로만 백포트하며, 사용 중단을 중단 없이 유지하고, 변경 로그와 런타임에 경고를 표시하세요.

프로세스 및 계층

문제 및 보안 문제를 보고하는 명확한 프로세스를 유지하고, 지원 계층(현재, LTS, EOL)을 정의하며, 버전이 EOL에 도달하면 마이그레이션 또는 대체 지원 솔루션을 권장합니다.

기준별로 보려면 선택합니다:

버전 수명 종료

릴리스
  • 릴리스가 발생하면 커뮤니티에 알림이 전송됩니다.
    • 모든 공식 채널(X/Twitter, GitHub Repo, 웹사이트 문서 등)을 통해 소통해야 합니다.

  • 새 버전이 출시되면 어떤 일이 발생하는지 명확하게 정의합니다.
    • 메이저, 마이너 또는 패치 릴리스의 영향을 정의합니다.
    • 새 버전이 출시되면 커뮤니티는 이전 버전에 대한 최신 지원 상태를 알 수 있습니다.
    • CVE를 해결하는 릴리스는 다음과 같이 식별됩니다.
    • 백포트 패치가 알려진 취약점을 완화하는지 여부에 대해 커뮤니티에 알립니다.
버전 관리
  • 프로젝트에서 업계 표준 버전 관리(예: 시맨틱 버전 관리 또는 PyPi 패키지의 경우 PEP 440)를 사용하는 것이 좋습니다.
  • 프로젝트가 현재 SemVer를 따르지 않는 경우, 버전 관리 구조는 커뮤니티를 위해 예측 가능하고 직관적이며 문서화되어 있습니다.
공지 사항 커뮤니케이션 및 명확성
  • 문서에는 수명이 종료된 버전과 지원되는 버전이 명확하게 명시되어 있습니다.
  • 릴리스 발표
    • 많은 소규모 프로젝트는 새 메이저 버전을 거의 또는 전혀 예고 없이 출시하고 이전 메이저 버전에 대한 지원을 즉시 중단하는 경향이 있으며, 대규모 프로젝트는 새 릴리스 라인을 미리 예측하고 현재 이전 릴리스 라인에 대한 장기 지원 기간을 명시적으로 표시하는 경향이 있습니다.
    • EOL 이벤트에 대한 공지는 적시에 이루어집니다.
      • 고려해야 할 벤치마크 기간:
        • 널리 채택된 기본 라이브러리/프레임워크: 12~18개월
        • 적당히 채택된 프로젝트(사용자 10,000명 이상): 6~12개월
        • 소규모 및/또는 틈새 프로젝트: 3~6개월
      • 해당되는 경우 전환 또는 마이그레이션에 필요한 시간을 확보하기 위해 현재 이전 릴리스 라인에 대한 지원 기간이 있습니다.
    • 종료 이벤트는 프로젝트의 공식 채널에 게시됩니다.

사용 중단

문서
  • 사용 중단의 정의는 다음과 같습니다.
    • 치료 방법
    • 버그 수정/패치를 받는 경우
    • 취약점이 이러한 버전에 미치는 영향
  • 태그는 모든 공식 문서에서 더 이상 사용되지 않는 버전을 표기하는 데 사용됩니다.
  • 이전 버전의 상태에 영향을 미치는 새 버전이 릴리스되면 어떤 버전이 더 이상 사용되지 않거나 수명이 종료되는지에 대한 문서가 있습니다.
  • 사용되지 않는 버전이 완전히 제거되거나 더 이상 지원되지 않는 시기가 구체적으로 명시되어 있습니다.
  • 해당되는 경우 프로젝트는 사용 중단을 보고하기 위해 에코시스템별 도구를 활용합니다.
지원
  • 커뮤니티가 따라야 할 권장 타임라인이 있습니다:
    • 새로운 기능 도입 및
    • 더 이상 사용되지 않는 기능 제거.
  • 더 이상 사용되지 않는 기능을 지원하기 위한 구조가 있습니다. 예시:
    • 마이너 릴리스에 도입
    • 다음 주요 릴리스에서 제거됨
    • 중요 취약점은 LTS에서만 백포트됩니다.
    • 사용 중단은 중단되지 않아야 합니다.
경고
  • 런타임 경고는 사용 중 로그/콘솔에 추가됩니다.
  • 사용 중단 이벤트는 변경 로그 및 릴리스 노트에 표시됩니다.

지원 정책

프로세스
  • 커뮤니티에서 문제를 신고할 수 있는 절차가 마련되어 있습니다.
  • 신고된 문제에 대응하기 위한 프로세스가 마련되어 있습니다.
  • 보안 위반을 신고할 수 있는 절차가 마련되어 있습니다.
지원 계층 및 문서
  • 커뮤니티가 명확하게 알 수 있도록 버전 지원 계층을 정의하세요.
    • 예 1:
      • 현재: 전체 보안 취약점 및 버그 지원.
      • LTS: 보안 취약점만 확인합니다.
      • EOL: 중요한 경우 보안 취약점입니다.
    • 예 2
      • 최신(또는 지원되는) 버전
      • 지원되지 않음
  • 개발자는 문서를 통해 지원되는 버전과 지원되지 않는 버전을 명확히 알 수 있습니다.
  • 개발자에게 권장되는 버전(지원되는 버전)과 사전 릴리스 또는 개발 버전에 대한 기대치가 설정되어 있습니다.
지원 장려
  • 버전이 EOL이 되면 사용자는 마이그레이션을 하거나 마이그레이션 지원 솔루션을 구축하는 것이 좋습니다.
  • 참고: 이전 버전에서 지원되는 마이그레이션 일정이 설정되거나 확인될 수 있도록 HeroDevs 서비스를 통해 이루어질 수 있습니다.

더 나은 수명 종료 관행을 통해 더 안전한 소프트웨어 구축

함께 일합시다

자주 묻는 질문

가장 자주 묻는 질문에 대한 답변을 확인하세요.
물론 원하는 답변을 찾을 수 없는 경우 언제든지 문의해 주세요.
이 프로그램의 목적은 무엇인가요?
신청 자격은 어떻게 되나요?
어떻게 신청하나요?
신청하면 어떻게 되나요?
펀딩 금액은 얼마인가요?
이 프로그램에는 무엇이 필요하나요? 보조금을 받으려면 어떻게 해야 하나요?
프로그램 활동을 완료할 때 지원을 받을 수 있나요?
프로젝트의 미래를 위해 작업하고 싶은데 더 이상 지원되지 않는 버전은 어떻게 되나요? 펀드가 그런 버전에 대해 어떤 조치를 취하나요?