포기한 코드가 제대로 죽습니까?


10

시간이 지남에 따라 점점 더 많은 오픈 소스 코드가 생성되고 다양한 무료 또는 부분적으로 무료 저장소에 추가 된 다음 일반적으로 포기된다는 인상을 받았습니다.

폐기 된 코드를 폐기하는 데 일반적으로 인정되는 표준이 있습니까? 이것이 리포지토리에 의해 시행되어야합니까, 아니면 원래 코드 작성자가해야 할 일입니까?


2
왜 폐기해야합니까? 그것이 오픈 소스라면 누군가가 언젠가 그것을 원할 수도 있고 그것을 저장소에 보관하는 데 많은 비용이 들지 않습니다.
David Thornley

"폐기 된 코드 처리 표준"은 무엇을 의미합니까? "del . "?
Rook

@Rook : 또는 Unix / Linux 사용자의 경우 "rm -rf *"
David Thornley

@David Thornley-예, 음 ... 당신은 요점을 얻습니다 :)
Rook

답변:


7

여기서 큰 문제는 무언가를 버릴 때를 결정하는 것입니다.

오래된 소프트웨어는 오래된 컴퓨터 또는 보수적 인 업그레이드 정책 (예 : 은행)을 가진 사람들이 사용하므로 매년 10 회 정도 다운로드되는 파일은 아직 업그레이드하지 않은 많은 사람들에게 여전히 유용 할 수 있습니다. 다시 설치해야하는 경우 시스템과 호환되는 이전 버전을 보유 할 수 있어야합니다.

더 이상 사용하지 않는 소프트웨어 (업그레이드 또는 드롭 인 교체로 교체 됨)는 많은 사람들에게 유용 할 수 있습니다. 다른 소프트웨어는 특정 버전의 버그에 의존하기 때문에 보안 패치가 있어도 업그레이드가되지 않는 90 년대의 브라우저 버그를 감시하십시오.

소프트웨어가 여전히 사용 중인지 확인할 수있는 확실한 방법이 없기 때문에 아니요라고 대답합니다. 증거의 부재는 부재의 증거가 아닙니다 :)


마지막 문장 +1 해당 소프트웨어에 누가 의존하는지 알 수 없으므로 Microsoft는 이전 버전과의 호환성에 대해 거의 무한한 우선 순위를 둡니다.
Michael K

1

데드 코드를 보관하는 리포지토리의 유지 관리 문제입니다. 해당 프로젝트에 트래픽이없는 경우에도 리소스를 소비합니다. 공급자는 두 가지 중에서 선택할 수 있습니다. 제거하거나 무기한으로 유지하십시오. SourceForge와 같은 일부 장소는 소유자가 수동으로 프로젝트를 제거 할 때까지 프로젝트를 유지하도록 선택합니다. 그럼에도 불구하고 그들은 여전히 ​​아카이브를 가지고 있습니다.

더 이상 새로운 것에 사용되지 않는 오래된 라이브러리를 제거하는 데 가장 좋은 방법은 다음과 같습니다.

  • 라이브러리를 더 이상 사용하지 않습니다. "attic"에 해당하는 소프트웨어에 라이브러리를 넣으십시오. 즉, 알려진 전자 메일 배포 목록으로 알림 메시지를 보내고 해당 목록을 종료해야합니다. "다락방"은 HTTP 전용 액세스 위치이므로 관심있는 사용자가 원하는대로 사본을 다운로드 할 수 있습니다. 페이지에는 모두 "더 이상 사용되지 않는"면책 조항이 있으며, 프로젝트 언어에서 지원하는 경우 API는 모두 @deprecated로 표시됩니다.
  • 다락방에서 지정된 기간 (정책에 따라 최소 1 개월 또는 1 년) 후에 라이브러리를 완전히 제거하십시오.
  • 사이트의 라이브러리에 대한 모든 참조를 제거하십시오.

일반적으로 죽은 프로젝트는 주변에 커뮤니티가없고 유지 보수자가 없으며 사용자 전자 메일 배포에 충분히 관심이있는 사용자가 없으며 전자 메일 배포에 대한 활동이 없으므로 최종 전자 메일 폭발은 수동적 인 사용자를 얻습니다. 물건을 사용하지만 어떤 식 으로든 기여하지 않는 사람) 원하는 것을 얻을 수있는 마지막 기회. 또한 프로젝트에서 마이그레이션하거나 스스로 유지 관리하기 위해 선택해야한다고 알려줍니다.


1

문학이나 음악에 대해서도 같은 질문을 할 수 있습니다. 80 년대에 작성된 "정말로 버려진"오래된 소프트웨어가 많이 있습니다. 왜냐하면 아무도 그것을 사용하거나 더 이상 생각하지 않기 때문입니다. 그러나 모든 것이 탈 중앙화되어 있기 때문에 폐기 할 권한이 없습니다. 그것은 웹의 본질 일뿐입니다. 소프트웨어가 얼마나 성공적인지에 대한 유일한 실제 척도는 얼마나 많은 사람들이 여전히 소프트웨어를 계속 사용해야하는지 설득력있는 이유를 찾는 것입니다. 지지자가 떨어지면 자연사로 죽습니다.

마찬가지로, 우리는 18 세기마다 작곡가를 모차르트로, 16 세기마다 극작가를 셰익스피어로 보는 경향이 있습니다. Sturgeon 's Law는 현재와 그 이후의 모든 것의 90 %가 쓰레기라고 규정하고 있지만, 완전한 사용자 붕괴를 경험할 충분한 시간이 없었기 때문에 현재 존재하는 쓰레기에 더 익숙합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.