Uwaga! To tłumaczenie jest przestarzałe, prosimy przejść do oryginału.

Informacje dotyczące systemu obsługi błędów dla opiekunów pakietów i osób zajmujących się obsługą błędów.

Pierwszym etapem jest nadesłanie zgłoszenia w postaci zwykłej wiadomości poczty elektronicznej na adres submit@bugs.debian.org, która musi zawierać linię Package (zobacz Instrukcję Zgłaszania Błędu aby uzyskać więcej informacji). Zgłoszeniu zostaje nadany numer, osoba zgłaszająca otrzymuje potwierdzenie a zgłoszenie jest przekazywane na listę debian-bugs-dist. Jeżeli linia Package zawiera nazwę pakietu którego opiekun jest znany, on także dostanie kopię.

Na początku nagłówka Subject zostaje dodany napis Bug#nnn:, a nagłówek Reply-To zostaje ustawiony tak, by zawierał zarówno adres zgłaszającego jak i nnn@bugs.debian.org.

Zamykanie zgłoszenia błędu

Zgłoszenia błędów w Debianie powinny być zamykane w momencie usunięcia problemu. Problemy w pakietach można uznać za rozwiązane tylko wtedy, gdy pakiet zawierający poprawkę dla danego błędu trafi do archiwum Debiana.

Zazwyczaj jedynymi osobami uprawnionymi do zamykania zgłoszenia są zgłaszający ten błąd i opiekun(owie) danego pakietu. Są jednak wyjątki od tej reguły, na przykład w przypadku błędów zgłoszonych w nieznanych pakietach lub w niektórych pseudo-pakietach. W razie wątpliwości nie należy zamykać zgłoszenia - należy poprosić o radę na liście debian-devel.

Zgłoszenia należy zamykać przez wysłanie wiadomości e-mail na adres nnn-done@bugs.debian.org. Treść wiadomości musi zawierać objaśnienie sposobu, w jaki został poprawiony dany błąd.

Dzięki wiadomościom e-mail wysyłanym przez system śledzenia błędów zamknięcie zgłoszenia sprowadza się do odpowiedzi na taki list po uprzedniej zmianie pola To na nnn-done@bugs.debian.org zamiast nnn@bugs.debian.org (adres nnn-done ma też alias nnn-close).

Jeżeli to możliwe, należy dodać linię Version w pseudo-nagłówku wiadomości podczas zamykania błędu, by system zarządzania błędami wiedział które wydanie pakietu zawiera poprawkę.

Osoba zamykająca zgłoszenie, osoba która zgłosiła błąd oraz lista debian-bugs-closed otrzymają powiadomienie dotyczące zmiany statusu danego zgłoszenia. Do zgłaszającego oraz na listę zostanie także wysłana wiadomość zawierająca treść wiadomości wysłanej na adres nnn-done.

Wiadomości e-mail związane ze zgłoszeniem

System śledzenia błędów dodaje do nagłówka Reply-To przekazywanej wiadomości adres osoby zgłaszającej błąd oraz adres błędu (nnn@bugs.debian.org). Należy zwrócić uwagę na fakt, że są to dwa oddzielne adresy.

Deweloper który pragnie odpowiedzieć na zgłoszenie, powinien po prostu odpowiedzieć na wiadomość zachowując poprawny nagłówek Reply-To. Nie spowoduje to zamknięcia błędu.

Nie należy używać opcji programu pocztowego odpowiedz wszystkim, chyba że mamy zamiar edytować ręcznie listę odbiorców. Należy zwrócić szczególną uwagę aby nie wysyłać wiadomości powiązanych z istniejącymi zgłoszeniami na adres submit@bugs.debian.org.

Wiadomości mogą być wysyłane na adresy podane poniżej, wypisane w kolejności, w jakiej są obsługiwane przez system śledzenia błędów.

Więcej informaji o nagłówkach powstrzymujących wiadomości potwierdzające (ACK) oraz o wysyłaniu kopii listów za pomocą Systemu Śledzenia Błędów jest dostępnych w instrukcji zgłaszania błędów.

Stopnie ważności błędów

System śledzenia błędów zapisuje stopień ważności każdego ze zgłoszonych błędów. Jest on domyślnie ustawiony na zwykły (ang. normal), ale można go zmienić dodając do zgłoszenia pseudo-nagłówek Severity (patrz Jak zgłosić błąd) lub przy pomocy polecenia severity serwera pocztowego.

Dostępne są następujące stopnie ważności:

krytyczny (ang. critical)
powoduje uszkodzenie niepowiązanego z błędem oprogramowania w systemie (lub całego systemu) lub powoduje poważną utratę danych albo wprowadza lukę w bezpieczeństwie systemów, na których zainstalowano dany pakiet.
bardzo poważny (ang. grave)
uniemożliwia w ogóle lub w większej części korzystanie z danego pakietu lub powoduje utratę danych, albo wprowadza lukę w bezpieczeństwie pozwalającą na uzyskanie dostępu do kont użytkowników danego pakietu.
poważny (ang. serious)
jest poważnym naruszeniem polityki Debiana (to znaczy narusza dyrektywę "musi" (ang. "must") lub "wymagany" (ang. "required")), lub, w opinii opiekuna pakietu bądź menedżera wydania, powoduje, że pakiet nie nadaje się do wydania.
ważny (ang. important)
błąd mający duży wpływ na użyteczność danego pakietu, nie powodujący jednocześnie jego całkowitej bezużyteczności dla użytkowników.
zwykły (ang. normal)
wartość domyślna, pasująca do większości błędów.
drobny (ang. minor)
problem nie wpływający na przydatność pakietu, prawdopodobnie bardzo łatwy do usunięcia.
życzenie (ang. wishlist)
odpowiedni w przypadku prośby o jakąś funkcję oraz w przypadku błędów, które są bardzo trudne do usunięcia z powodu założeń projektowych.

Uwaga: przy ustawianiu stopnia ważności błędu należy używać angielskich nazw. Serwer obsługujący te żądania nie zna ich polskich (ani żadnych innych) tłumaczeń.

Pewne stopnie ważności są traktowane jako uniemożliwiające wydanie (ang. release-critical), co znaczy, że błąd ten będzie miał wpływ na to, czy dany pakiet zostanie wydany w stabilnej edycji Debiana. Obecnie status taki mają stopnie krytyczny, bardzo poważny i poważny. Lista problemów krytycznych dla następnego wydania zawiera kompletny zestaw reguł określających jakie błędy zasługują na ten status.

Znaczniki przy zgłoszeniach

Każdy błąd może mieć zero lub więcej znaczników. Są one wyświetlane na liście błędów dla każdego z pakietów oraz na pełnej liście błędów.

Znaczniki można ustawiać dodając do zgłoszenia pseudo-nagłówek Tags (patrz Jak zgłosić błąd), lub przy pomocy polecenia tags serwera pocztowego. Znaczniki należy rozdzielać przecinkami lub spacjami.

Dostępne są obecnie następujące znaczniki: patch, wontfix, moreinfo, unreproducible, help, security, upstream, pending, confirmed, ipv6, lfs, d-i, l10n, newcomer, a11y, ftbfs, fixed-upstream, fixed, fixed-in-experimental, potato, woody, sarge, etch, lenny, squeeze, wheezy, jessie, stretch, buster, bullseye, bookworm, trixie, forky, sid, experimental, sarge-ignore, etch-ignore, lenny-ignore, squeeze-ignore, wheezy-ignore, jessie-ignore, stretch-ignore, buster-ignore, bullseye-ignore, bookworm-ignore, trixie-ignore forky-ignore . Poniżej znajdują się dodatkowe informacje na temat poszczególnych znaczników:

patch (łata)
W dzienniku danego błędu dostępna jest łata lub opis łatwej procedury prowadzącej do rozwiązania problemu. Jeśli dostępna łata nie rozwiązuje problemu w odpowiedni sposób lub powoduje inne problemy, nie należy używać tego znacznika.
wontfix (nie naprawić)
Ten błąd nie zostanie naprawiony. Może tak być ponieważ jest to jeden z dwóch równorzędnych sposobów na osiągnięcie jakiegoś celu, a opiekun pakietu i zgłaszający błąd preferują odmienne sposoby. Może tak też być gdy zmiana obecnego zachowania spowoduje inne, gorsze problemy dla innych, itp.
moreinfo (więcej informacji)
Tym błędem nie można się zająć, dopóki zgłaszający nie dostarczy więcej informacji. Błąd będzie zamknięty jeżeli zgłaszający nie dostarczy więcej informacji w rozsądnym czasie (rzędu kilku miesięcy). Stosuje się go do błędów typu To nie działa. Co nie działa?
unreproducible (nie da się powtórzyć)
Tego błędu nie da się powtórzyć w systemie opiekuna. Do zdiagnozowania przyczyny problemu potrzebna jest pomoc osób trzecich.
help (pomocy)
Opiekun prosi o pomoc w rozwiązaniu tego błędu. Albo opiekun nie ma wystarczających umiejętności aby naprawić ten błąd i potrzebuje osoby do pomocy, albo jest zbyt zajęty i chce przekazać to zadanie innej osobie. Tego typu błędy nie są odpowiednie dla nowych współpracowników, chyba że są one jednocześnie oznaczone jako newcomer.
newcomer (nowicjusz)
Błąd posiada znane rozwiązanie ale opiekun prosi o jego implementację przez kogoś innego. Jest to idealne zadanie dla nowych współpracowników, którzy chcą zaangażować się w Debiana, albo chcą udoskonalić swoje umiejętności.
pending (w toku)
Znaleziono rozwiązanie problemu, wkrótce błąd powinien być poprawiony.
fixed (poprawiony)
Ten błąd jest poprawiony całkowicie lub tymczasowo (na przykład przez wersję stworzoną przez osobę nie będącą opiekunem tego pakietu), ale mimo to coś trzeba jeszcze zrobić. Ten znacznik zastępuje stary stopień ważności fixed.
security (bezpieczeństwo)
Błąd ten opisuje problem z bezpieczeństwem w danym pakiecie (na przykład nieprawidłowe uprawnienia umożliwiające dostęp do danych, które nie powinny być dostępne; błędy przepełnienia bufora umożliwiające niepożądane przejęcie kontroli nad systemem; błędy umożliwiające ataki powodujące odmowę usługi, itp). Większość błędów z tym znacznikiem powinno także mieć stopień ważności krytyczny lub bardzo poważny.
upstream (źródło)
Ten błąd odnosi się do macierzystej części pakietu.
confirmed (potwierdzony)
Opiekun sprawdził dane zgłoszenie błędu, rozumie je i generalnie zgadza się ze zgłaszającym, ale nie ma jeszcze sposobu na poprawienie błędu. (Użycie tego znacznika jest opcjonalne; jest on przeznaczony głównie dla opiekunów, którzy muszą radzić sobie z dużą ilością otwartych zgłoszeń.)
fixed-upstream (poprawiony przez autora programu)
Błąd został naprawiony przez autora programu, ale poprawiona wersja nie znajduje się jeszcze w pakiecie (z róznych powodów: prawdopodobnie zbyt trudno nałożyć poprawki albo zmiany są zbyt małe, by się nimi zajmować).
fixed-in-experimental (poprawiony w dystrybucji eksperymentalnej)
Ten błąd został naprawiony w pakiecie znajdującym się w dystrybucji eksperymentalnej, ale jeszcze nie w dystrybucji niestabilnej.
d-i
Ten błąd odnosi się do rozwoju instalatora Debiana (debian-installer). Oczekuje się, że będzie on użyty do błędów, które wpływają na rozwój instalatora, mimo że dotyczą pakietów nie będących bezpośrednio jego częścią.
ipv6
Ten błąd wpływa na obsługę protokołu IP w wersji 6.
lfs
Ten błąd wpływa na obsługę dużych plików (ponad 2 gigabajty).
l10n
Ten błąd dotyczy lokalizacji pakietu.
potato
Ten błąd odnosi się do wersji znajdującej się w wydaniu Debiana o nazwie kodowej potato.
woody
Ten błąd odnosi się do wersji znajdującej się w wersji Debiana o nazwie kodowej woody.
sarge
To jest tag dotyczący dystrybucji, który ma dwa znaczenia. Kiedy jest ustawiony w zgłoszeniu o błędzie, błąd dotyczy wydania sarge (chociaż może także dotyczyć innych dystrybucji, jeżeli odpowiednie znaczniki są ustawione), z drugiej strony obowiązują normalne zasady obsługi błędów, łatek. Błąd nie powinien być zarchiwizowany dopóki nie będzie poprawiony w sarge.
sarge-ignore
Ten błąd typu release-critical ma być ignorowany na potrzeby wydania sarge. Ten znacznik powinien być używany tylko przez menedżera wydania. Nie należy ustawiać go samodzielnie bez jego wyraźnej zgody.
etch
To jest tag dotyczący dystrybucji, który ma dwa znaczenia. Kiedy jest ustawiony w zgłoszeniu o błędzie, błąd dotyczy wydania etch (chociaż może także dotyczyć innych dystrybucji, jeżeli odpowiednie znaczniki są ustawione), z drugiej strony obowiązują normalne zasady obsługi błędów, łatek. Błąd nie powinien być zarchiwizowany dopóki nie będzie poprawiony w sarge.
etch-ignore
Ten błąd typu release-critical ma być ignorowany na potrzeby wydania etch. Ten znacznik powinien być używany tylko przez menedżera wydania. Nie należy ustawiać go samodzielnie bez jego wyraźnej zgody.
lenny
To jest tag dotyczący dystrybucji, który ma dwa znaczenia. Kiedy jest ustawiony w zgłoszeniu o błędzie, błąd dotyczy wydania lenny (chociaż może także dotyczyć innych dystrybucji, jeżeli odpowiednie znaczniki są ustawione), z drugiej strony obowiązują normalne zasady obsługi błędów, łatek. Błąd nie powinien być zarchiwizowany dopóki nie będzie poprawiony w lenny.
lenny-ignore
Ten błąd typu release-critical ma być ignorowany na potrzebny wydania lenny. Ten znacznik powinien być używany tylko przez menedżera wydania. Nie należy ustawiać go samodzielnie bez jego wyraźnej zgody.
squeeze
To jest tag dotyczący dystrybucji, który ma dwa znaczenia. Kiedy jest ustawiony w zgłoszeniu o błędzie, błąd dotyczy wydania squeezy (chociaż może także dotyczyć innych dystrybucji, jeżeli odpowiednie znaczniki są ustawione), z drugiej strony obowiązują normalne zasady obsługi błędów, łatek. Błąd nie powinien być zarchiwizowany dopóki nie będzie poprawiony w squeezy.
squeeze-ignore
Ten błąd typu release-critical ma być ignorowany na potrzebny wydania squeeze. Ten znacznik powinien być używany tylko przez menedżera wydania. Nie należy ustawiać go samodzielnie bez jego wyraźnej zgody.
wheezy
To jest tag dotyczący dystrybucji, który ma dwa znaczenia. Kiedy jest ustawiony w zgłoszeniu o błędzie, błąd dotyczy wydania wheezy (chociaż może także dotyczyć innych dystrybucji, jeżeli odpowiednie znaczniki są ustawione), z drugiej strony obowiązują normalne zasady obsługi błędów, łatek. Błąd nie powinien być zarchiwizowany dopóki nie będzie poprawiony w wheezy.
wheezy-ignore
Ten błąd typu release-critical ma być ignorowany na potrzebny wydania wheezy. Ten znacznik powinien być używany tylko przez menedżera wydania. Nie należy ustawiać go samodzielnie bez jego wyraźnej zgody.
jessie
To jest tag dotyczący dystrybucji, który ma dwa znaczenia. Kiedy jest ustawiony w zgłoszeniu o błędzie, błąd dotyczy wydania jessie (chociaż może także dotyczyć innych dystrybucji, jeżeli odpowiednie znaczniki są ustawione), z drugiej strony obowiązują normalne zasady obsługi błędów, łatek. Błąd nie powinien być zarchiwizowany dopóki nie będzie poprawiony w jessie.
jessie-ignore
Ten błąd typu release-critical ma być ignorowany na potrzebny wydania jessie. Ten znacznik powinien być używany tylko przez menedżera wydania. Nie należy ustawiać go samodzielnie bez jego wyraźnej zgody.
sid
To jest tag dotyczący dystrybucji, który ma dwa znaczenia. Kiedy jest ustawiony w zgłoszeniu o błędzie, błąd dotyczy wydania sid (chociaż może także dotyczyć innych dystrybucji, jeżeli odpowiednie znaczniki są ustawione), z drugiej strony obowiązują normalne zasady obsługi błędów, łatek. Błąd nie powinien być zarchiwizowany dopóki nie będzie poprawiony w sid.
experimental
To jest tag dotyczący dystrybucji, który ma dwa znaczenia. Kiedy jest ustawiony w zgłoszeniu o błędzie, błąd dotyczy wydania experimental (chociaż może także dotyczyć innych dystrybucji, jeżeli odpowiednie znaczniki są ustawione), z drugiej strony obowiązują normalne zasady obsługi błędów, łatek. Błąd nie powinien być zarchiwizowany dopóki nie będzie poprawiony w experimental.

Dodatkowa informacja na temat tagów dotyczących dystrybucji: tag -ignore pomija błąd do celów testowych. Tag dotyczący wydania wskazuje, że błąd w zgłoszeniu nie powinien być archiwizowany dopóki nie zostanie naprawiony w wydaniach określonych tymi tagami. Oznacza także, że błąd występuje w określonych tagami wydaniach. [Innymi słowy, błąd nie występuje we wszystkich wydaniach, których odpowiednie tagi nie zostały dodane, a dodano jakikolwiek tag określający wydanie; poza tym mają zastosowanie normalne zasady dotyczące szukania i poprawiania błędów.]

Tagi dotyczące wydania nie powinny być używane, jeżeli można osiągnąć zamierzony efekt przy pomocy innego znacznika, ponieważ wymagają one ręcznego dodawania oraz usuwania. W razie wątpliwości należy skontaktować się z Administratorami BTS (owner@bugs.debian.org) lub zespołem ds. wydania.

Zaznaczanie faktu przekazania zgłoszenia błędu

Deweloper, który przekazuje zgłoszenie błędu opiekunowi kodu źródłowego pakietu, z którego powstał pakiet Debiana, powinien zaznaczyć ten fakt w systemie śledzenia błędów w następujący sposób:

W polu To wiadomości e-mail należy umieścić tylko adres(y) opiekuna(ów) kodu(ów) źródłowego(ych); w polu CC należy umieścić adres osoby, która zgłosiła błąd oraz adres nnn-forwarded@bugs.debian.org i nnn@bugs.debian.org.

Należy poprosić autora kodu aby przy odpowiadaniu zachował w polu CC adres nnn-forwarded@bugs.debian.org, aby system śledzenia błędów zapisał odpowiedź razem z resztą zgłoszenia. Taka wiadomość nie będzie wysyłana, zostanie tylko zapisana w systemie; aby wiadomość została wysłana normalnie, należy wysłać ją na adres nnn@bugs.debian.org.

Kiedy system śledzenia błędów otrzyma wiadomość wysłaną na adres nnn-forwarded, zaznaczy dany błąd jako przekazany na adres wymieniony w polu To danej wiadomości jeśli błąd nie ma już statusu przekazany.

Można też ustawić informację przekazane do przy pomocy odpowiedniej wiadomości wysłanej na adres control@bugs.debian.org.

Zmiana właściciela błędu

Zdarza się, że osoba odpowiedzialna za naprawienie błędu nie jest opiekunem danego pakietu (np. gdy pakietem zajmuje się grupa opiekunów). W takim przypadku warto odnotować to w systemie śledzenia błędów - każdemu błędowi można przypisać właściciela.

Właściciel błędu może zostać ustawiony przez dodanie linii Owner w pseudo-nagłówku podczas zgłoszenia błędu (więcej w instrukcji zgłaszania błędu) lub za pomocą poleceń owner i noowner serwera kontroli żądań.

Nieprawidłowo przyporządkowani opiekunowie

Najczęściej powodem przyporządkowania do pakietu niewłaściwego opiekuna jest to, że opiekun niedawno się zmienił, a nowy opiekun jeszcze nie wysłał na serwer nowej wersji pakietu ze zmienionym polem kontrolnym Maintainer. Opiekun zostanie zmieniony automatycznie, gdy na serwer archiwum zostanie wysłana nowa wersja pakietu. Jeśli jednak nowa wersja nie jest wkrótce spodziewana, opiekunowie systemu śledzenia błędów mogą ręcznie zmienić tą informację. Można się z nimi skontaktować pod adresem override-change@debian.org.

Powtórne otwieranie, przekierowywanie i inne manipulacje na zgłoszeniach

Możliwa jest zmiana przyporządkowania błędu do pakietu, powtórne otwarcie omyłkowo zamkniętego zgłoszenia, modyfikacja informacji mówiącej o tym do kogo, o ile w ogóle, zostało przekazane zgłoszenie, zmiana stopnia ważności i tytułu błędu, ustalenia właściciela błędu, połączenie i rozdzielenie raportów oraz zapis wersji paczek, w których błędy zostały znalezione, a także w których zostały poprawione. Można to zrobić wysyłając odpowiednią wiadomość na adres control@bugs.debian.org.

Format tych wiadomości jest opisany w innym dokumencie dostępnym na stronie WWW lub w pliku bug-maint-mailcontrol.txt. Wersję tekstową tego dokumentu można także uzyskać wysyłając słowo help na wymieniony wyżej adres.

Subskrypcja błędów

System śledzenia błędów pozwala także osobom zgłaszającym błedy, deweloperom oraz innym zainteresowanym na dołączenie się do subskrypcji pojedynczych błędów. Ta opcja może być użyta przez osoby chcące mieć podgląd na dyskusję dotyczącą błędu bez konieczności zapisywania się w PTS na listę dotyczącą danego pakietu. Wszystkie wiadomości wysłane na adres nnn@debian.org są wysyłane do zapisanych osób.

Subskrybowanie do błędu może być wykonane przez wysłanie wiadomości pod adres nnn-subscribe@bugs.debian.org. Temat oraz treść wiadomości są ignorowane przez BTS. Kiedy tylko wiadomość zostanie przetworzona, użytkownikowi jest wysyłana wiadomość potwierdzająca, na którą powinien odpowiedzieć, aby otrzymywać wiadomości powiązane z danym błędem.

Jest także możliwe usunięcie swojego adresu z listy subskrypcji. Można to zrobić poprzez wysłanie wiadomości pod adres nnn-unsubscribe@bugs.debian.org. Temat oraz treść tej wiadomości także są ignorowane przez BTS. Użytkownikowi zostanie wysłana wiadomość z potwierdzeniem, na którą musi odpowiedzieć, jeżeli chce się wypisać z listy.

Domyślnie, adres, który ma zostać dołączony do listy zasubskrybowanych zostaje pobrany z nagłówka From. Aby zapisać inny adres, należy zakodować go w wiadomości o subskrypcji. Przybiera to taką postać: nnn-subscribe-localpart=example.com@bugs.debian.org. Podany przykład wyśle adres localpart@example.com w wiadomości o subskrypcji dla błędu nnn. Znak @ musi zostać zakodowany poprzez zmianę na znak =. Podobnie usunięcie adresu z listy ma postać nnn-unsubscribe-localpart=example.com@bugs.debian.org. W obu przypadkach temat oraz treść wiadomości zostaną przekazane na adres podany w żądaniu w celu potwierdzenia.

Częściowo przestarzała opcja skanowania tematów

Wiadomości przychodzące na adres submit lub bugs, których temat zaczyna się od Bug#nnn będą traktowane tak, jakby były wysłane na adres nnn@bugs.debian.org. Dzieje się tak ze względu na wsteczną zgodność jak i na to, aby wyłapywać pocztę wysyłaną na adres submit przez pomyłkę (na przykład przez użycie opcji odpowiedzi do wszystkich adresatów).

Podobna zasada obowiązuje dla adresów maintonly, done, quiet oraz forwarded, która traktuje pocztę nadchodzącą ze znacznikiem w tytule jakby nadeszła na odpowiadający adres nnn-cośtam@bugs.debian.org.

Wiadomości nadchodzące bezpośrednio na adresy forwarded i done — np. bez numeru błędu w adresie — i nie zawierające numeru w temacie, zostają zapamiętane przez kilka tygodni jako śmieci, poza tym są ignorowane.

Wycofana opcja X-Debian-PR: quiet

Kiedyś można było powstrzymać system śledzenia błędów od przekazywania wiadomości, którą otrzymał na adres debian-bugs poprzez dodanie linii X-Debian-PR: quiet w nagłówku wiadomości.

Nagłówek ten jest teraz ignorowany. Zamiast tego, nalezy używać adresów quiet lub nnn-quiet (względnie maintonly lub nnn-maintonly).


Inne strony WWW systemu śledzenia błędów:


Debian BTS administrators <owner@bugs.debian.org>

Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd, 1994-1997 Ian Jackson.