Możliwość zajrzenia do źródeł… bezcenna!
W ostatni piątek firma Joyent na swoim blogu obwieściła, że otwiera kod swoich produktów dwóch Connector i Slingshot. Oba projekty dostały swoje miejsce na developerskim serwisie Joyent, a cały developerski świat dostęp do SVN ze źródłami. Nie muszę chyba specjalnie wyjaśniać jak ekscytującą dla każdego developera jest możliwość zapoznania się ze źródłami prawdziwej, sporej (aż chciałoby się powiedzieć enterprajsowej :)) aplikacji zwłaszcza napisanej w railsach. Sam z ogromną ciekawością pobrałem źródła Connectora i przyjrzałem się części z rozwiązań zastosowanych przez Joyent. Szczególnie byłem ciekaw jaka biblioteka została przez autorów wybrana do obsługi wersji językowych. Okazało się, że Connector korzysta ze starego dobrego Get Text (za pośrednictwem pluginu Ruby Get Text ), to odkrycie oszczędziło mi sporo czasu i utwierdziło mnie w przekonaniu, że spośród wszystkich dostępnych bibliotek warto jednak oprzeć się na tym sprawdzonym rozwiązaniu. Źródła Connectora zawierają jeszcze kilka ciekawych smaczków, ale nie będę psuł tu przyjemności samodzielnego ich odkrywania :)
Druga z otworzonych aplikacji ma szanse wywołać sporą rewolucję. Slingshot to rodzaj pomostu między webem a desktopem. Działa jako środowisko uruchomieniowe, które pozwala uruchomić aplikację railsową tak jakby była aplikacją dekstopową. Sami autorzy tak tłumaczą działanie Slingshota:
It provides a consistent and stable environment for a Rails application to run off Windows and Macintosh OS X. We remove all dependencies and conflicts with system binaries. Additionally, Joyent Slingshot allows developers to customize their environment as they please. Install any gems, plugins, binaries, whatever. We can handle it. Joyent Slingshot is like a virtual machine for a Rails application to run on.
Krótki screencast pokazujący jak w praktyce może wyglądać praca z tak ‘zainstalowaną’ aplikacją railsową robi niemałe wrażenie.
Podsumowując, dostaliśmy ciekawą okazję skonfrontowania swoich doświadczeń i umiejętności z kodem prawdziwej aplikacji. Aplikacji, która powstała z myślą o rozwiązywaniu realnych problemów i zarabianiu na tym pieniędzy, żaden tam 1001 quasi-engine blogowy czy inny prawie-sklep, tu jest prawdziwa krwista tkanka sporej aplikacji.
Zastanawiam się co skłoniło ludzi z Joent do takiego kroku. Nie chcę tu snuć spiskowych teorii, ale gdy przyjrzymy się stykowi open-source i biznesu dostrzeżemy raczej odwrotną tendencję. To raczej rokujące projekty OS dostają patronat/wsparcie komercyjne powoli wchodząc do portfolio produktów firm sponsorów. Czasem ten proces wychodzi na dobre sponsorowanym projektom, czasem następuję kanibalizacja i stopniowa śmierć projektu OS. Dużo rzadziej mamy do czynienia z sytuacją odwrotną, szczególnie gdy ma ona dotyczyć całego kompletnego komercyjnie stworzonego produktu nie komponentu / biblioteki. Tym bardziej warto docenić odwagę Joyent za tak śmiały i… trochę szalony krok.
[rails ruby]


