Dlaczego warto wybrać Open Source?

Do napisania tej notki skłonił mnie widok kolejnej oferty z "autorskim systemem CMS"
i przykłady stron na nim zrealizowanych.

Eh..

Wciskanie oprogramowania "BeSt-CMS wer.PROF"* napisanego np jako praca zaliczeniowa na
studiach jako lepszego np. od "darmowego" Wordpressa czy Drupala jest poniżej krytyki.

Zauważam komercyjne projekty, które w wielu zastosowaniach są lepsze od wspomnianych
wyżej darmowych odpowiedników, ale można je policzyć na palcach. Cała reszta jest niczym
ser szwajcarski. Niestety w tym przypadku dziury nie świadczą o wysokiej jakości produktu.

Mierzcie siły na zamiary.

Małe przypomnienie:
Podpisując umowę o dzieło deklarujecie profesjonalizm i rzetelność waszej pracy.
Brak podstawowej walidacji danych już na etapie formularza logowania albo inne,
podobne błędy mogą się skończyć w sądzie. Wyobraźcie sobie jakie straty może
wyrządzić konkurencja mogąc dowolnie modyfikować treść strony tego klienta...

Nie rozumiem niechęci niektórych osób (szczególnie początkujących) do oprogramowania
dostępnego za darmo. Czy to tylko nieznajomość idei? Czy może nadmiar wiary we
własne siły (ja to napiszę lepiej)? :)

Uwaga:
Bez pieniędzy i własnej pracy też można dostać wartościowy produkt.
Wypada oczywiście 'zapłacić', przynajmniej zgłaszając zauważone błędy, podsuwając
pomysły na rozwój lub udostępniając innym napisane przez siebie rozszerzenia.

Zachęcam (nie tylko początkujących) do korzystania z darmowych programów o otwartym
kodzie. Zawsze można się jeszcze sporo nauczyć.

Wypunktuję korzyści.

Dla twórcy aplikacji udostępnianej jako OS:

  • Nakład pracy drastycznie się zmniejsza. Nie musimy zaczynać od zera.
    Zupełnie legalne jest bazowanie na czyimś kodzie o podobnej licencji.
    Nawet jeżeli będzie on stanowić większość naszej aplikacji.
  • Umożliwiając korzystanie z programu innym, już na bardzo wczesnym etapie
    możemy uzyskać darmową pomoc, choćby w postaci pomysłów na rozwój, raportów
    błędów i gotowych łatek.
  • Jeżeli projekt będzie przydatny i zdobędzie użytkowników to zacznie się
    samoczynnie rozwijać, wchodząc na poziom nieosiągalny dla nas samych.
    Społeczność stworzy nowe dodatki, rozwiąże stare problemy itp. Popularne
    projekty OS mogą śmiało rywalizować ze swoimi komercyjnymi konkurentami,
    niejednokrotnie zwyciężając poziomem bezpieczeństwa czy liczbą funkcji.
    Zespół jednej firmy kontra setki programistów z całego świata ;)
  • Projektami OS często łatwiej zarządzać, bo dołączają do nich osoby
    używające produktu w praktyce, mocno się angażujące. Praca nad komercyjnym
    projektem często przypomina pilnowanie grupy ludzi, którzy woleliby być
    gdzie indziej.
  • Uczestnicząc w projekcie, możesz mieć szansę pracy z lepszymi od siebie.
    Możesz patrzeć im na kod, tym samym doskonaląc swoje umiejętności.

Dla użytkownika/klienta:

  • Niezależność - wiele osób zna dany system. Łatwiej zmienić wykonawcę.
    Łatwo uzyskać wsparcie techniczne (zarówno płatne i darmowe).
  • Elastyczność - każdy użytkownik coś wnosi, czasem doświadczenie, czasem
    nowe rozszerzenia. Zazwyczaj jest z czego wybierać.
  • Bezpieczeństwo - zbyt wiele osób ma dostęp do kodu źródłowego, żeby
    można było coś ukryć lub na dłuższą metę przegapić poważny błąd.
    Bezpieczeństwo przez zaciemnienie (security by obscurity) to przeżytek.
    Jawny kod daje gwarancję uczciwości.
  • Koszty - niższe ze względu na bezpłatną bazę i możliwość wyboru
    wdrożeniowca spośród wielu a także jego zmiany, gdyby zaczął prowadzić
    niekorzystną politykę cenową. Rozwiązanie zamknięte/dedykowane zdaje nas
    na łaskę wybranej firmy.

W czym ustępuje oprogramowaniu komercyjnemu:

  • Duża elastyczność wiąże się ze spadkiem wydajności.
  • Odkryte błędy są jawne, co powoduje konieczność instalowania łat.
  • To miejsce czeka na Twoja propozycję.

Czasem pada tekst w stylu:
"lepiej kupić CMS-a, bo wtedy płacę i wymagam, a jak mi zainstalują
darmowy to nie mam żadnych gwarancji"

Błąd. Wszytko zależy od podpisanej umowy. Wiele komercyjnych rozwiązań
oferowanych jest bez gwarancji lub z gwarancją ograniczoną. Nic też nie
stoi na przeszkodzie, żeby wraz z wdrożeniem otwartego CMS-a uzyskać
gwarancję i aktualizacje przez wiele miesięcy.

* - nazwa przypadkowa, ewentualna zbieżność z istniejącym produktem niezamierzona

Ten artykuł znajduje się w kategoriach:

Komentarze

Ciekawe ile autorów "Autorskich CMS" przeczyta ten post i ciekawe ilu z nich zrozumie :D
Niestety jest duża ilość osób które potrzebują stron WWW jednak kompletnie sie na tym nie znają i takie osoby utrzymują tych pożal sie boże "tfurców", bo ktoś kto sie nie zna nawet nie jest w stanie ocenić czy dane rozwiązanie jest dobre/kiepskie/czy do niczego, bo wydawać by sie mogło ze jak zapłacę to dostanę przyzwoity produkt. A tu niestety różnie może być, przynajmniej mi sie jeszcze nie zdarzyło abym dostał coś przyzwoitego.

I kolejna sprawa, za pisanie biorą sie ludzie o coraz mniejszej wiedzy :( co sie dzieje czasami w kodzie to woła o pomstę do nieba :)

Pozdrawiam i czekam na następne wpisy :D

Od niedawna po doświadczeniach z Drupalem z musu (praca) zacząłem korzystać ze sklepu internetowego Sote. I każdego ostrzegam. Sto razy lepiej korzystać OsCommerce.
Mozliwości administrowanai stroną w porównaniu do Dupala to jak to określił kumpel z którym stworzyliśmy magick.pl- jakbyś się z porsche przesiadł do cinkwecento

Maximusie:
Postaram się o to, żeby przeczytali ;) Jedną z idei pisania tego bloga jest oszczędzenie sobie pisania 10x tego samego. Zamiast tego mogę odsyłać do tekstu (i twórców, i klientów).

Jeżeli chodzi o zamawiane programy to zdarzyło mi się dostać coś solidnie napisanego ale tylko, jeżeli chodzi o małe skrypty. Np. taką mieszarką akapitów i synonimów, jaką ma wbudowaną Adder 5, posługiwałem się na długo przed jego ukazaniem. Napisano mi ją niedrogo, a kod był pierwszej klasy. Ciekawe jaki wpływ miałem na pojawienie się jej w Adderze http://forum.seoadder.info/index.php?module=forum&what=post&id=1294&rec=20 ;)

Zauważyłem, że dobrze jest zlecić mniejszy element, bo zwykle dostaje się coś staranniej wykonanego. Pisząc prosty generator treści zleciłem np jedną funkcję (dokładnie opisując jak ma działać) i jestem z niej bardzo zadowolony. Oszczędziłem sporo czasu.

Jednak małe programiki wspomagające, a komercyjny soft dla klienta to zupełnie inna sprawa. Najczęściej bazuje na Drupalu, czasem dopisując jakiś drobiazg. Kilka najbliższych wpisów będzie na jego temat. Pisane na własne potrzeby "o czym nie warto zapominać", "przydatne sztuczki" itp. ale może ktoś jeszcze skorzysta..

hanif:
Niezbyt jasno to napisałeś. Poproszę bardziej chronologicznie :)
Korzystasz z OsCommerce zamiast Drupala? :>

Gotowe systemy CMS nadają się może do postawienia wizytówki, czy jakiegoś zbioru stron i niczego więcej. W dodatku tez nadają się do tego średnio. Wystarczy wziąć przykład wordpressa i wp-cache. Po co w tak nieskomplikowanym systemie, gdzie mamy do czynienia z małymi bazami system cache? Bo kod jest kiepsko zoptymalizowany.

A te wszystkie "otwarte katalogi", "darmowe cms-y", "przema"? Przecież to najlepsze narzędzia do ubijania serwera. Jeszcze kiedy zainstalujesz wersję out-of-the-box, wtedy to jakoś działa. Ale wrzuć tylko jakiś mod napisany przez "mietka" po szkole, jak będziesz miał pecha to ci stronę zhaczą albo serwer padnie. Bo kod tych OS-ów ma przynajmniej jakąś kontrolę jakości ale "pluginy" już nie. Nie widzisz tutaj pewnych kosztów związanych z analizą kodu osób trzecich który kod chcesz włączyć do projektu i później będziesz musiał sam łatać? Zakładając, że mówimy o projektach poważnych - które byłoby dobrze, żeby chodziły.

Piszesz o studentach, którzy robią CMS'y na prace zaliczeniowe. A kto jak myślisz pisze te CMS'y o otwartych źródłach? Student czy head developer IBM-a się w ten sposób relaksuje po pracy? Powiem ci, że jak student to już jest dobrze. Ostatnio pracowałem trochę z kodem PHPBB - niestety nawet tak prosta rzecz jak interpretacja bbcode jest zrobiona ŹLE. Powinna być wykorzystana deterministyczna maszyna stanów skończonych, zamiast tego jest 50 regexów. Każdy student informatyki na drugim roku to wie ( przynajmniej powinien w czasie sesji ;) ).

Niestety klient myśli sobie że ma wybór: zapłacę 1500 za stronę firmową na wordpresie albo 1500 za system CMS pisany od podstaw. A że za takie pieniądze DOBRZE można napisać tylko małe skrypty (bo większość czasu to testowanie, optymalizacja i odpowiednie filtrowanie / zabezpieczanie danych) - to tacy ludzie dostają to za co płacą. I wykrzaczy się to przy pierwszej okazji / 20 userach online.

Napisanie CMSa to praca na kilka(dziesiąt) tysięcy godzin. I tutaj chyba jest główny problem bo CMS napisany za 900zł na zlecenia-przez-net nie może konkurować z projektami które gdyby powstały z udziałem zarabiających programistów i innych ludzi biorących udział w procesie kosztowałby minimum kilkaset tysięcy zł.
Brak podstawowej walidacji danych już na etapie formularza logowania albo inne,
podobne błędy mogą się skończyć w sądzie.

Niestety sądy niepoważnym zleceniodawcom, którzy chcą mieć za kilka złotych system o wartości kilka set/tysięcy razy większej nie pomogą. Dodatkowo chyba całkowicie źle pojmujesz cykl produkcji oprogramowania i security. Brak błędów i bezpieczeństwo to stan, który trwa do chwili znalezienia następnego błędu czy luki. Jeśli masz OS pół biedy - ktoś się znajdzie i prędzej czy później naprawi. W zamkniętym systemie albo zostawiasz jak jest albo musisz zapłacić (lub otworzyć źródło).

Dodatkowo idziesz jeszcze dalej i twierdzisz że bez pieniędzy i bez własnej pracy można dostać coś wartościowego. Niestety albo masz jedno albo masz drugie. Bez pieniędzy i pracy to sobie można ściągnąć mambo na dysk i zostawić go tam, niech sobie leży. I nic wartościowego z tego nie będzie.

Z jednym się zgodzę - ludziom o budżecie (czy może "budżecie") < kilkudziesięciu K pozostaje wzięcie jakiegoś opensourcea i zrobienie skórki. Bo za takie pieniądze można >DOBRZE< zrobić grafikę i parę prostych poprawek a nie napisać skrypt.

Jako autor dość dużego CMS-a cały czas rozwijanego i wykorzystywanego tylko na jednym portalu przeczytałem i zrozumiałem że żądasz niemożliwego. Tzn. stworzenia czegoś bez pieniędzy, pracy i wiedzy. Bez tego to sobie nawet kanapki nie zrobisz a co dopiero gdy mówimy stawianiu serwisu.

Klient może mieć stronę firmową na darmowym CMS i niskim kosztem, jednak poza zmianą grafiki i skórki nie będzie miał jakiegokolwiek wpływu na to - jak ta strona działa i na jakie interakcje będzie pozwalała użytkownikowi.

no troche niejasno napisałem
z drupala korzystam na mocih stronach które rbily z kumplem dla siebie (jak magick.pl)
a od jakiegos czasu z musy pracuje na Sote - płatnym sklepie internetowym
i jest on w porównaniu do możliwosci drupala jak przesiąść się z porsche do trabanta
darmowy OsCommerce jest sto razy lepszym sklepem od Sote
btw- w niedługim czasie będę testował Ubercart- zespół modułów do Drupala tworzący sklep, cholernie jestem ciekaw jak bedzie się sprawdzał
to jeszcze jeden argument za OS- jak czegoś nie ma w programie to już to pewnie ktoś pisze

Mam jeden sklep na Ubercarcie. Częściowe polskie tłumaczenie do niego mogę podrzucić. Ten projekt jest obiecujący ale jeszcze daleka droga przed nim..

Widzę że spam zaatakował ^powyżej^ warto coś z tym zrobić...

A co do CMS-a to ja preferuję stworzenie sobie samemu... przecież to tak wiele nie trzeba wystarczy znać trochę PHP i HTML oraz podłączanie bazy SQL ,a jak tego się nie zna to nawet na plikach tekstowych bazę można zrobić... robiąc sam CMS-a masz pewność że nikt po za tobą go nie zna i nie włamie ci się w dodatku masz te opcje które potrzebujesz na danej strony i nie jesteś uzależniony od żadnych pluningów ,a i linka do stopki też nie trzeba dodawać i pozycjonować autorów...

Sławek 22 ma rację, indywidualny CMS dla 1 strony to zbyt drogi wydatek ,a płatny Open Source z unikalną grafiką jest w pełni wystarczający :)

Ja osobiście korzystam z oprogramowania Open Source i sobie je wysoko cenię...
zapłaciłem za kilka małych zmian i chodzi wszystko że aż miło...

Dodaj nowy komentarz

Zawartość pola nie będzie udostępniana publicznie.
CAPTCHA
Muszę sprawdzić czy nie jesteś złym botem...
harmonogr_m: