Ewa Drygalska, Anna Marjanowska: Jako filozof i medioznawca pracujesz na Wydziale Fizyki, Astronomii i Informatyki Stosowanej UJ, zajmując się kwestiami bardzo dynamicznie rozwijającej się rzeczywistości wirtualnej i rozszerzonej (virtual / augmented reality). Twój doktorat dotyczył software studies, czy mógłbyś rozjaśnić nieco ten termin?
Jan K. Argasiński: Software studies to „studia nad oprogramowaniem”, prowadzone z perspektywy filozoficznej, kulturoznawczej, nauk o społeczeństwie. Dziedzina badań, o której mowa, jest specyficzna, bo wbrew intuicji nie dotyczy technicznych problemów związanych z pisaniem i działaniem kodu (tym zajmuje się nauka ścisła, jaką jest informatyka, czyli computer science), lecz raczej jego kulturowych korzeni – zarówno w aspekcie historycznym, jak i z punktu widzenia zjawisk zachodzących współcześnie. Uprawianie jakiegokolwiek rodzaju studies nie jest rzeczą łatwą, ponieważ o ile np. informatyków interesuje przede wszystkim perspektywa „rozwojowa” (jak robić rzeczy szybciej, wydajniej, skuteczniej, dokładniej), o tyle studia nad oprogramowaniem obejmują swoim zakresem całościowy obraz zjawiska komputeryzacji: skąd się wziął hardware i software, jakie kulturowe i historyczne uwarunkowania doprowadziły do jego pojawienia się, czym on jest z punktu widzenia twórców i użytkowników oraz, co chyba najintensywniej eksplorowane przez fundatorów dziedziny, jakie są szeroko rozumiane skutki jego działania – nie tylko w wymiarze finansowo-technologicznym, ale społecznym, kulturowym, filozoficznym właśnie. Panuje tu bardzo duża różnorodność metodologiczna i merytoryczna. Wspólne jest zainteresowanie oprogramowaniem w perspektywie innej niż inżyniersko-matematyczna.
Jak w tym kontekście zdefiniować by można oprogramowanie?
Komputerowe oprogramowanie, czyli software, nie posiada, o ile mi wiadomo, ścisłej definicji. Znany teoretyk informacji Luciano Floridi pisał, że „jest to z grubsza wszystko to, co komputer potrafi zrobić”. Najczęściej spotkamy się ze stwierdzeniem, że programy to konkretne sformułowania abstrakcyjnych algorytmów, działające na określonych, ustrukturyzowanych danych.
Kiedy mamy do czynienia z pojęciem „oprogramowania”, natychmiast pojawia się interesujące napięcie między statycznym zapisem, kodem źródłowym a działaniem.
Programy bowiem ostatecznie służą raczej do tego, aby zostać uruchomionymi na sprzęcie, zrobić coś. Intuicja jest taka, że statyczny zapis kodu źródłowego to w takim samym stopniu oprogramowanie jak nieczytana przez nikogo, leżąca na półce książka to literatura. Analogia ta nie jest jednak doskonała – aby rzecz wyjaśnić, musielibyśmy powiedzieć co nieco o tym, skąd wziął się software i jak konkretnie on działa.