Czy kod rezygnacji kiedykolwiek umiera poprawnie?


10

Mam wrażenie, że z czasem generuje się coraz więcej kodu o otwartym kodzie źródłowym, dodawanego do różnych darmowych lub częściowo darmowych repozytoriów, a następnie generalnie porzucanego.

Czy istnieją ogólnie przyjęte standardy usuwania porzuconego kodu? Czy powinno to być egzekwowane przez repozytoria, czy może byłoby to zależne od autorów oryginalnego kodu?


2
Dlaczego musiałby zostać zutylizowany? Jeśli jest to oprogramowanie typu Open Source, ktoś może kiedyś tego chcieć, a przechowywanie go w repozytoriach nie kosztuje dużo.
David Thornley,

Co rozumiesz przez „standardy usuwania porzuconego kodu”? „del . ”?
Wieża

@Rook: Lub „rm -rf *” dla użytkowników systemów Unix / Linux.
David Thornley,

@David Thornley - tak, cóż ... masz rację :)
Rook

Odpowiedzi:


7

Dużym problemem tutaj jest decydowanie, kiedy coś zostanie porzucone.

Stare oprogramowanie jest używane przez osoby posiadające stare maszyny lub konserwatywne zasady aktualizacji (na przykład banki), więc plik, który jest pobierany może 10 razy w roku, może nadal być przydatny dla wielu osób, które po prostu nigdy nie dokonały aktualizacji. Jeśli kiedykolwiek będą musieli ponownie zainstalować, powinni mieć możliwość uzyskania starej wersji zgodnej z ich systemem.

Przestarzałe oprogramowanie (zastąpione uaktualnieniem lub zastąpieniem zastępczym) może być również przydatne dla wielu osób. Zobacz błędy przeglądarki z lat 90-tych, które spowodowałyby brak zasad aktualizacji nawet w obliczu poprawek bezpieczeństwa, ponieważ inne oprogramowanie zależało od błędów w konkretnej wersji.

Więc powiedziałbym nie, po prostu dlatego, że nie ma niezawodnego sposobu na określenie, czy oprogramowanie jest nadal w użyciu. Brak dowodów nie jest dowodem nieobecności :)


+1 za ostatnie zdanie. Nigdy nie wiadomo, kto polega na tym oprogramowaniu, dlatego Microsoft niemal nieskończenie priorytetowo traktuje zgodność wsteczną.
Michael K

1

Problem dotyczy konserwacji repozytoriów zawierających martwy kod. Zużywają zasoby, nawet jeśli nie ma ruchu do tych projektów. Dostawca ma dwie możliwości: pozbyć się go lub zachować na czas nieokreślony. Niektóre miejsca, takie jak SourceForge, wybierają zachowanie projektów do momentu ich ręcznego usunięcia przez właściciela. Nawet wtedy nadal mają archiwa.

Najlepsze podejście, jakie widziałem, aby pozbyć się starych bibliotek, które nie są już używane do niczego nowego, to takie podejście:

  • Przestarzała biblioteka - umieść ją w ekwiwalencie oprogramowania „strychu”. Oznacza to, że wysyłasz powiadomienie na znane listy dystrybucyjne e-mail i zamykasz te listy. „Poddasze” to lokalizacja dostępu tylko do HTTP, dzięki czemu każdy zainteresowany użytkownik może pobrać kopię według własnego uznania. Wszystkie strony będą zawierały oświadczenie „przestarzałe”, a jeśli język projektu je obsługuje, API zostanie oznaczone jako @deprecated.
  • Po upływie określonego czasu na poddaszu (co najmniej miesiąc lub rok, w zależności od zasad), usuń bibliotekę całkowicie.
  • Usuń wszystkie odniesienia do biblioteki w swojej witrynie.

Zwykle martwe projekty są martwe, ponieważ nie ma wokół nich społeczności, opiekunów, użytkowników, którzy dbają o to, aby znaleźć się w dystrybucji e-mail użytkowników, żadnej aktywności w dystrybucjach e-mail itp. Ostateczny wybuch e-maila przyciągnie pasywnych użytkowników ( faceci, którzy używają tych rzeczy, ale nie przyczyniają się w żaden sposób) ostatnia szansa na zdobycie tego, co będą. Mówi im również, że muszą przeprowadzić migrację z projektu lub odebrać go, aby utrzymać go dla siebie.


1

Równie dobrze możesz zadać to samo pytanie dotyczące literatury lub muzyki. Na pewno jest wiele „naprawdę porzuconych” starych programów napisanych w latach 80-tych, których nie jesteście świadomi, bo cóż, nikt ich nie używa ani o tym nie myśli. Ale nie ma autorytetu, który by go pozbył, ponieważ wszystko jest zdecentralizowane. Taka jest natura sieci. Jedyną rzeczywistą miarą sukcesu oprogramowania jest to, ile osób nadal znajduje przekonujący powód, aby nadal go używać. Kiedy zabraknie zwolenników, umiera naturalną śmiercią.

Podobnie, każdego XVIII-wiecznego kompozytora postrzegamy jako Mozarta, a każdego XVI-wiecznego dramaturga jako Szekspira. Prawo Sturgeona mówi, że 90% wszystkiego zarówno teraz, jak i wtedy jest / było bzdurą, ale lepiej znasz bzdury, które istnieją teraz, ponieważ nie miał wystarczająco dużo czasu, aby doświadczyć całkowitego zepsucia użytkownika.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.