Dowiedz się, co robi
Spójrz na kod i dowiedz się, co powinien zrobić. Jeśli nie potrzebujesz, dlaczego tam jest? Czy coś innego robi teraz swoją robotę? Jeśli jest to coś, na co wciąż jest popyt, dlaczego to nie działa dla ciebie?
Dość często można zobaczyć oprogramowanie specyficzne dla sprzętu, napisane z myślą o przypadkowych obudowach, takich jak jedna seria laptopów (np. Istnieją dziesiątki różnych sterowników sprzętowych Thinkpad).
Zgodnie z plikiem readme , sterownik obsługuje połączenia bezprzewodowe, diody LED, bluetooth, 3G i podświetlenie. Dla mnie to brzmi jak coś, czego ty (lub inni) możesz chcieć, więc domyślnie porzucenie go lub umieszczenie na czarnej liście może być niepożądane.
Dowiedz się, jak został zainstalowany na twoim komputerze
Skąd się to wzięło? Czy jest wciągnięty do jądra? Czy to jest Ubuntu? To ostatecznie zadecyduje, gdzie należy złożyć skargę.
W przypadku problemów na poziomie jądra naprawdę pomaga przetestować najnowsze stabilne jądro waniliowe. Możesz pobrać kopię z głównego repozytorium, chociaż prawdopodobnie zauważysz, że istnieją niedopasowania wersji GCC z niektórymi sterownikami tylko binarnymi (mam, z nvidią), więc nie jest to coś, co chcesz uruchamiać przez cały czas IMO.
Jeśli problem nadal występuje w jądrze wanilii, dodaj błąd w górę i połącz go z błędem Launchpad i śledź go również wstecz. Miły podwójnie połączony błąd pomoże wszystkim pozostać na tej samej stronie.
W tym przypadku wygląda na to, że jest to wbudowany sterownik jądra (tzn. Jego źródło jest pobierane do repozytorium jądra i wbudowane).
Znajdź osobę lub osoby za to odpowiedzialne
Nie jest rozsądne po prostu zrzucić błąd na Launchpad i mieć nadzieję, że znajdzie odpowiednią osobę. Powiedziałbym, że tylko niewielka część programistów śledzi ich błędy, więc musisz znaleźć opiekunów oprogramowania i skontaktować się z nimi.
Rozpoczynanie wysyłania wiadomości e-mail na zimno może być niegrzeczne, ale oprogramowanie to ich dziecko. Jeśli to nie działa, myślę, że chcieliby wiedzieć. Dziewięć razy na dziesięć pomogą ci również zidentyfikować problem.
Jeśli nadal jest obsługiwany, uzyskaj instrukcje debugowania. Sprawdź, czy twój sprzęt jest kompatybilny.
Jeśli nie jest obsługiwany i możesz to potwierdzić za pomocą starego opiekuna, zgłoś błąd w jądrze, ostrzegając ludzi, że część kodu gnije i że powoduje problemy.
Zaproponuj działanie właściwym osobom
Kiedy wiesz, na czym polega problem, nie trzymaj go dla siebie. Upewnij się, że podejmujesz działania związane z błędami.
Jeśli jest to coś, co można naprawić w sterowniku, ścigaj ludzi w jądrze, aby pobrać nową wersję do wersji rozwojowej. Zapytaj o przeniesienie go do wersji 2.6.35 dla istniejących użytkowników Ubuntu. Porozmawiaj z zespołem Kernela o wprowadzeniu zmian w jądrze Mavericka (choć możesz nie mieć szczęścia).
Jeśli gnije, popchnij deweloperów jądra rdzenia, aby zrzucić go z repozytorium. Zapytaj zespołu programistów jądra Ubuntu, aby usunąć je z ich repo. Przynajmniej poproś o umieszczenie go na czarnej liście (jak niektóre moduły zostały w przeszłości wymuszone przez Ubuntu).
Jeśli uzyskasz dobry zwrot w naprawianiu / niszczeniu sterownika, powinno być możliwe wprowadzenie poprawki do ostatecznego jądra Natty'ego (które wciąż znajduje się na -next
etapie prawidłowego repozytorium jądra).
Chodzi mi o to, że kiedy robisz własną triage i rozmawiasz z właściwymi ludźmi, sprawy zyskują o wiele więcej uwagi i mają większą szansę na dobry wynik końcowy.
I w żadnym wypadku nie przestawaj, jeśli zobaczysz inną osobę z tym samym problemem. Subskrybuj to, komentuj ich błędy, pytaj, co znaleźli, pytaj, co z tym zrobili ... A potem kontynuuj. Nie polegaj na nich, aby rozwiązać problem.
Tak powinien działać open source. Współpraca poprzez dobrą, otwartą komunikację. Dobrze komunikuj swój problem, pomagaj tam, gdzie możesz, a masz szansę na uzyskanie lepszej jakości oprogramowania.