Przez ostatnie dwa tygodnie dużo się już na ten temat pisało, postanowiłem, więc, że dodam i swoje dwie krople do dyskusji.
Dla tych którzy nie są w temacie, wszystko rozbija się o to, że RedGate (firma która kilka lat temu przejęła development na darmowym narzędziem do analizy i dekompilacji kodu napisanego pod .NET) oświadczyło, że zacznie pobierać opłatę za oprogramowanie. Pewnie to by umknęło uwadze społeczności gdyby nie tak naprawdę trzy kluczowe punkty:
- Reflector był za darmo od zawsze;
- Reflector był jedynym narzędziem dającym takie możliwości;
- Luz po przekazaniu Reflectora do RedGate napisał iż będzie on dalej za darmo.
Informacja trochę podzieliła społeczność na trzy grupy:
- Reflector powinien być za darmo, walcie się RedGate nic od was nie kupię już;
- Ok, spoko ale pozostawcie moją wersję darmo, a jak będę chciał przejść do kolejnej to zapłacę;
- Super, dziwie się że tak długo to narzędzie było darmo, z chęcią zapłacę te 35 euro.
Jest jeszcze czwarta grupa, ale ona mnie osobiście najbardziej denerwuje. Jest to grupa ludzi, którzy leją na wszystko dokładnie mówiąc: o było za darmo, o jest płatne, o i co z tego – nie wiem czemu ale dla mnie jest to grupa ludzi która podaje flaka podczas uścisku dłoni, a takich jakoś nie trawię.
Pomijam grupę która nie słyszała i/lub nie korzystała z Reflectora.
Ja osobiście nie trafiam w żadną z grup choć sympatyzuję z 2. Już tłumaczę.
Narkoman
To co zrobił teraz Red Gate można porównać do dilerów unikatowego narkotyku. Tylko oni go mają, nikt inny nie ma nic podobnego. I jest on za darmo. Co więcej trzeba by zachęcić rzeszę ludzi by zaczęła brać? W końcu jest to coś unikatowego, nie jest na liście zakazanych środków, ba ma nawet w sobie środki które są powszechnie zalecane przez lekarzy.
Długo nie trzeba czekać by tysiące ludzi się uzależniło.
I teraz wchodzi cała polityka dilerów sorki, ale narkotyk już nie jest za darmo, teraz porcja będzie Cię kosztować 35 euro i będzie z kopem, nie chcesz? To idź na odwyk.
Ze względu na to, że Reflector jest unikatowy, dużo osób pewnie niezależnie od stwierdzeń zakupi licencję na niego. Jednak są to spekulacje, bo najgorsze w biznesie co można zrobić to zabrać funkcjonalności/rzecz, którą do tej pory dawało się za darmo. Wyobrażacie sobie by nagle MS z Visual Studio Express zabrał możliwość kompilowania kodu? Raczej szybko byście przeszli do innych narzędzi.
Tutaj takiej opcji nie ma. Na rynku istnieje wiele podobnych rozwiązań do Reflectora, ale one są jedynie podobne bo też dekompilują kod, zaś już nie udostępniają, żadnej dodatkowej funkcjonalności, z której się korzysta – analiza wykorzystania zmiennej itp.
Oczywiście można wszystko połączyć i wykorzystać jeden z dostępnych programów + nDepend (o którym swojego czasu pisałem).
Osobiście ruch w celu licencjonowania Reflectora mi się nie podoba, ale też jakoś nie będę ubolewał – przynajmniej na razie tak sądzę, choć na przykład wczoraj spędziłem w nim 2h próbując zrozumieć działanie biblioteki trzeciej bo zamiast dostać wynik X dostawałem Y.
Jednak to co jeszcze zrobił Red Gate to zabrał nam wersję darmową – mianowicie nasze Reflectory przestaną działać pod koniec marca. Czyli macie tutaj jeszcze trochę darmo narkotyku, nałykajcie się a potem płaćcie. Ludzie jednak zaczęli już kombinować jak usunąć timebomb z aktualnej wersji Reflecora.
Nie fajnie.
Nowy klient w nowej rzeczywistości
Ale nie ważne, przestańmy się zastanawiać nad tym czy to była dobra decyzja czy zła. To pokaże czas. To nad czym jednak warto się zastanowić to, rzecz jaką stracili początkujący developerzy.
Jako junior nie byłbym wstanie docenić Reflectora w ciągu 14 dni, nawet jeżeli by mi pomógł w jednym problemie to czy opłaca mi się kupować tool, z którego będę korzystać raz na jakiś czas? Jak często będę z niego korzystał?
Powiedzmy sobie szczerze, Reflector to nie Query Analyzer, którego 14 dniowe testowanie na prawie zakończonym produkcie może dać nam feedback mogący poprawić wydajność aplikacji o 30%. Od razu jesteśmy wstanie przełożyć koszt narzędzia na profit jaki uzyskamy korzystając z niego. Także Reflector nie jest narzędziem do którego codziennie zaglądamy – jest on wykałaczką w naszym szwajcarskim scyzoryku, na co dzień jej nie potrzebujemy ale kiedy jest nam potrzebna mamy ją pod ręką.
Więc jak zachęcić nowych użytkowników by z niego korzystali? Bo Senior dev mówi zobacz w reflectorze? Moim zdaniem to tak nie działa. Tutaj też widzę duży minus robienia z Reflectora tylko i wyłącznie wersji płatnej.
Na przykład ostatnio swojemu zespołowi powiedziałem, że mają opanować Reflectora i zanim zadadzą mi pytanie dlaczego coś im zwraca wyjątek to niech sprawdzą to w narzędziu (a powyżej pisałem, ze senior mówi do Juniora sprawdź se…). Przez ostatni miesiąc ani razu Reflectora nie otworzyli. Czy więc mam powiedzieć swojemu szefowi by wydał 200 euro na licencje by każdy z dev miał Reflectora? Ja osobiście nie widzę sensu, chyba, że dev sami zaczną mówić iż jest im to potrzebne.
Portfel
Ale tutaj znów, jak długo na rynku będzie dostępna wersja Reflectora w wersji 7? Ile aktualizacji będzie? Czy bugi będą poprawiane z wersji na wersję czy jako aktualizację do danej wersji? Jak szybko bug zostanie poprawiony? Ile będzie kosztowała mnie aktualizacja do wersji 8?
Pytań mam wiele. Ale to co mnie tak naprawdę wkurzyło to społeczność mówiąca i tak bierzesz więcej za godzinę swojej pracy niż Red Gate chce za Reflectora.
Nie wiem z jakiej gałęzi ludzie się urwali, ale znam jedynie jedną osobę, która po odjęciu podatku może powiedzieć, że w ciągu godziny zarobi na reflectora.
Popatrzmy na medianę zarobków informatyków w Polsce w 2010. Według raportu Sedlak & Sedlak jest to 5 140zł brutto na miesiąc co daje nam netto 3 650zł. Czy jest to dużo? Dzieląc przez 160 dostajemy 23zł na godzinę. Czyli potrzebujemy pracować przez 6h by zarobić na narzędzie, z którego będziemy dość sporadycznie korzystać.
Teraz weźmy pod uwagę iż przeważnie albo mamy kredyt albo wynajmujemy mieszkanie. W warszawie koszt wynajęcia to około 2 000zł miesięcznie plus opłaty. Sorki, ale ja nie widzę jak przeciętny polski informatyk może sobie pozwolić na tego typu narzędzie – chyba, że firma je kupi. Ja osobiście siedząc zagranicą i zarabiając moim zdaniem całkiem nieźle potrzebuje około 2h pracy by móc pozwolić sobie kupić takie narządko.
Dlatego też taka wypowiedz społeczności jaka padła mnie wkurza. Jeżeli tyle zarabiają to super! Gratulacje! Tak trzymać dalej! Niech wesoło ćwierkają o tym jacy oni są świetni i ile kasy do banku co godzinę im wchodzi. Są po prostu zajebiści i tyle.
Nie mam nic do osób zarabiających dużo i spoko, ale mam do ignorantów, którzy sądzą, że większość zarabia dużo i ma na wszystko kasę, do tej pory pamiętam jak jedna osoba się zdziwiła na obozie, że jak to nie macie oryginalnych addiasów, przecież każdy je ma. No comment.
Podsumowując
Osobiście aktualnie nie wydam 35 euro na Reflectora, w szczególności iż bug dekompilacji switch wciąż istnieje tylko, że tym razem by go zobaczyć muszę za niego zapłacić.
Oczywiście nie twierdzę, że prędzej czy później nie wydam na niego pieniądzy. Ale aktualnie spodziewałbym się, że jak już ktoś ode mnie chce pieniądze za produkt, kóry do tej pory był za darmo, to ja coś za to dostanę – będzie mi się opłacało wydać pieniądze. Aktualnie bug switch mówi mi jedno: mamy dla Ciebie to samo tylko, że teraz za kasę.
Ja jestem uzależniony od Reflectora jak nie wiem co, wszystko to co dowiedziałem się o SharePoint zawdzięczam Reflectorowi, to że zacząłem korzystać z Dic<Tk, Tv>[Tk] = Tv też zawdzięczam Reflectorowi kiedy to przez ciekawość odkryłem iż przypisanie doda element Tk o wartości Tv do dic, a jak już istnieje to go zaktualizuje – zamiast pisać Contains i Add lub =, teraz robię to za pomocą =. Dlatego ubolewam nad tym iż Reflector jest płatny :( jednak to nie przekreśla mojego zdania o firmie Red Gate, której prodykty jak ANTS Profiler są naprawdę dobre i warte pieniędzy.
Dobre wieści ze społeczności
Jak to też bywa, społeczność zareagowała na wieść o płatnym Reflectorze takimi dwoma informacjami:
- ReSharper będzie wspierał dekompilacje – szkoda tylko, że to będzie jedynie dekompilacja i cała nawigacja będzie w VS, to właśnie lubiłem w Reflectorze, że all było fajnie zrobione w aplikacji okienkowej;
- @migueldeicaza i znajomi pracują nad aktualizacją dekompilatora i flow analyzer opartego o Cecil tak by udostępnić coś w stylu Reflectora – IMO pewnie z tej opcji skorzystam.
A wy, jakie macie zdanie na temat płatnej wersji .NET Reflectora?
Ja też nie zamierzam wydawać 35 euro na narzędzie z którego korzystam raz może 2 na pół roku :) Branie opłaty za coś co zawsze było free nie przyniesie korzyści firmie. Jeśli zarabiałbym 2 razy tle ile kosztuje to narzędzie na godzinę to wtedy bym się skusił. Jednakże w Polsce to raczej nie mozliwe (a jak już ktoś zarabia tyle to nie jest już programistą a dyrektorem IT :) albo firmy i narzędzie potrzebne jest dla pracowników, wtedy to inna historia)
Ja mysle, ze sednem jest to co napisales Gutek -> reflector to nie jest narzedzie, ktorego przecietny dev uzywa dzien w dzien. Podnioslo sie straszne halo o to wszystko, a mysle, ze lekko 90% osob tylko szpanersko ma skrot do Reflectora na pasku a uzywa raz na dwa tygodnie :P
TweedlMB … ja bym zadał pytanie inaczej – czy jak używasz tego narzędzia dwa razy do roku to oszczedza Ci ono na tyle czasu albo pozawala zrobić coś żebyś zarobił więcej niż te 35 EUR … jeżeli tak, patrząc na to że nie jest to subskrypcja, to oznacza to tylko że to narzędzie samo Ci się spłaci. No brainer tak zwany.
Mi także najbliżej do grupy 2. Z reflektora korzystam sporadycznie, ale jak już się zdarza to nie raz uratował mi tyłek właśnie w przypadkach, gdy coś według wszystkich znaków na zmieni i niebie powinno zwracać X, a usilnie zwraca Y. Nie mniej jednak na ten moment nie widzę potrzeby, aby wydawać te 35 euro na coś wykorzystywanego sporadycznie. Nie jest to narzędzie bez którego nie można by się obejść. Wydaje się, że dużo lepszą decyzją było by albo uwolnienie wersji aktualnej od limitu czasowego, albo wraz z wersją płatną udostępnienie wersji lite, express czy zwanej jeszcze inaczej, a będącą mniej wypasioną wersją, w której albo czegoś nie można zrobić, albo najpierw trzeba przeklikać jakieś spowoalniacze w dowolnej formie. No i rzecz najważniejsza to nie wyobrażam sobie żeby wersja płatna mogła wyjść z błędami, które są powszechnie znane i występujące w obecnej wersji.
Gutek, kolejny dobry tekst i ciężko się z Tobą nie zgodzić. Mam do tego kilka własnych przemyśleń:
– Reflector był za free i po zmianie właściciela dalej miał być za free. Zaufałem tym zapewnieniom i nie martwiłem się zatem o oryginał, który sukcesywnie zastępowałem nowymi wersjami, dochodząc do miejsca, gdzie już nie będzie darmowy, a ja nie mam wersji oryginalnej bez timebomb i bez konieczności upgrade’u;
– Reflector to dla mnie podstawowe narzędzie analityczne poznania kodu – nie muszę zaglądać do dokumentacji, przeglądać komentarzy, żeby wiedzieć co się dzieje. Reflector daje wgląd w rzeczywistość, bez żadnego pośrednictwa, dokumentacja może być niekompletna, nieaktualna, etc i przy dostępie z poziomu reflectora bardzo często jest dla mnie po prostu całkowicie zbędna, bo najczęściej reflector + testy to wszystko, co jest mi potrzebne do zorientowania się ‘co autor miał na myśli’ i jak z tego skorzystać;
– Narzędzia analityczne z VS2k10 są bardzo rozbudowane i wiele z tego, co daje Reflector jest w samym VS.
– Jestem za dalszym rozwojem reflectora. Nie wiem, czy reflector na codeplexie ma szanse rozwijać się tak szybko jak płatny pod patronatem RedGate – szczerze wątpię. Z jakiegoś powodu Lutz podjął tę, a nie inną decyzję, być może zależało mu na dalszym stabilnym rozwoju narzędzia, a sam nie mógł tego zagwarantować i nie widział perspektyw ‘społecznościowych’. Dlatego prawdopodobnie kupię v.7 (już od pierwszego dnia od ogłoszenia mam zgodę na zakup i nie nadweręża to ‘budżetu działu’), choć ciepło myślę o czymś własnym w oparciu o Cecil.Decompiler…
m.g.
Jedna rzecz ze __MAJA__ prawo robic z narzedziem co chca – ich wlasnosc kupiona od oryginalnego autora.
Druga sprawa, ze to __BARDZO__ nie w porzadku nie dotrzymywac swoich obietnic.
Moze powstanie kampania na rzecz bojkotu produktow tej firmy?! Z checia sie do niej przylacze.
CCIAst (http://cciast.codeplex.com/) też ładne efekty daje i da się łatwo go rozbudować o rozpoznawanie dodatkowych konstrukcji składniowych
To tak jakbyscie byli zainteresowani darmowa alternatywa, aktyalnie R# w wersji 6 EAP wspiera dekompilacja i w tym roku ma sie pojawic tool stand-alone za darmo, ktory takze to umozliwi – plus analiza kodu:
http://blogs.jetbrains.com/dotnet/2011/02/resharper-6-bundles-decompiler-free-standalone-tool-to-follow/
@Tomek W
dzieki, wlasnie o to chodzilo :)
@TweedleMB & @Tomek
zgadzam sie z Tomkiem jednak jest jedna wazna rzecz, Reflector nie pokaze Ci odrazu, ze zwraca swoj koszt. To tak jakbys pracowal na windows z Task Managerem i ktos Ci pokazal Sysinternals Process Mng – bys powiedzial oo fajne i bys dalej korzystal z Task Managera, dopiero po czasie zrozumiesz co daje Ci process manager.
@Bogdan Kot
nic dodac nic ujac :) ale widac tak to ma juz byc i tyle :(
@mgrzeg
dziekii zgadzam sie szkoda, ale jak widac nic straconego… moze cos ciekawszego na rynku sie w koncu pojawi :)
Co do Luz sadze ze on sprzedal oprogramowanie z pewnym zastrzezeniem czasowym co do "wersji free". wiec pewnie go to XXX obchodzi teraz :(
@Novakov
jest to ciekawe, jednak cecil daje duzo wiecej mozliwosci – przynajmniej bylo tak z niespelna rok temu kiedy sie tym bawilem.
@Abc
bez przesady :) ale tak, raczej community sie czesciowo odwrocilo od RedGate choc opinie sa podzielone. Teraz JetBrains pokazuje co potrafi i sadze ze zgarnie community :)
Heh, pieknie! :) Chlopcy nie mogli oprzec sie pokusie nawiazania do manewru RedGate:
-We don’t have any specific date for release, but it’s going to be released this year, and it’s going to be free of charge. **And by saying "free", we actually mean "free".**-
RedGate wypromowal nowa jakosc jesli idzie o slowo ‘free’. Od teraz coś jest ‘darmowe jak u RedGate’, czyli ‘prawie free’, nie obrazajac browarników :)
m.g.
Comments are closed.