CMS - komercyjny czy darmowy open source - porównanie

15 lipca 2008
Analizujemy zalety i wady różnych koncepcji zarządzania stronami www. Dowiedz się więcej aby wybrać dla siebie odpowiednią platformę.

W artykule przedstawię główne zalety i wady komercyjnych systemów cms i open source. Tylko znając główne zalety i wady obu rozwiązań można podjąć prawidłową decyzję przy wyborze systemu dla siebie.

CMS (Content Management System) to skrót, który ostatnio na dobre zadomowił się w wielu językach. W dosłownym tłumaczeniu oznacza system zarządzania treścią stron publikowanych w internecie. Skrót cms stał się tak popularny, ponieważ technologia która za nim stoi wnosi bardzo dużo do sposobu zarządzania stronami internetowymi - zarządzania informacjami oraz sposobem ich wizualizacji.

Szukając cms na Google.pl otrzymamy około 164 mln stron w całym Internecie i 3,7 mln na polskich stronach, co świadczy o bardzo dużym zainteresowaniu tą technologią.

W normalnym, realnym świecie utarło się, że jeśli coś jest za darmo, prawdopodobnie nie przedstawia dużej wartości. Generalnie mało jest rzeczy w realnym świecie które możemy dostać za darmo, nie mówiąc już o rzeczach wartościowych.

Jednocześnie naszym podobnym skrótem myślowym jest, że jeśli coś kosztuje dużo to musi być dobre. Niestety również na tym uproszczeniu wielu z nas się poważnie "przejechało".

W realnym świecie nie zawsze drogo znaczy dobrze i nie zawsze za darmo znaczy do niczego.

Na szczęście Internet rządzi się trochę innymi prawami niż świat realny, i tutaj "darmowy" wcale nie oznacza do niczego, a wręcz przeciwnie. W sieci można znaleźć bardzo wiele różnego rodzaju aplikacji, które za darmo potrafią zrobić naprawdę bardzo wiele rzeczy.

Wiele z tych aplikacji zaliczają się właśnie do kategorii "darmowy" czyli Freeware lub "prawie darmowy" czyli Shareware.

Do kategorii "darmowy" zaliczana jest większość aplikacji typu open source, z najbardziej znaną aplikacją - systemem operacyjnym Linux.
 

Systemy zarządzania treścią - CMS

W przypadku systemów zarządzania treścią - cms – mamy do wyboru rozwiązania komercyjne oraz open source. Główna różnica między tymi dwoma rodzajami aplikacji to dostępność kodu źródłowego, która w przypadku rozwiązań komercyjnych jest mocno lub całkowicie ograniczona. Rozwiązania typu open source pod tym względem dostarczają przeważnie dostęp do całości kodu, co może wydać się bardzo zachęcające.
 

Idea Open Source

Open source to oprogramowanie z otwartym źródłem - kodem źródłowym. Kod źródłowy, czyli to co odpowiada za działanie programu, dostępny jest w Internecie i każdy może go ściągnąć i przerobić dostosowując do własnych potrzeb.

Geneza open source sięga lat 80tych, kiedy to rozpoczął się projekt oprogramowania GNU/GPL. Nurt oprogramowania GNU/GPL został zapoczątkowany po komercjalizacji przez AT&T systemu UNIX. Wtedy to powstało jądro systemu Linux, opartego właśnie o licencję GNU/GPL. 

Idea oprogramowania open source polega na otwartości i dostępności kodu źródłowego. Najbardziej znanym programem open source jest system Linux. Dostępność kodu źródłowego umożliwia programistą z całego świata jego ciągłe udoskonalanie oraz dostosowywanie do swoich własnych potrzeb, dzięki czemu Linux na przykład dostępny jest w bardzo wielu wersjach dystrybucyjnych.

Należy zaznaczyć, że nie każde oprogramowanie open source jest oprogramowaniem darmowym. W większości przypadków oprogramowania stworzonego na podstawie kodu GNU/GPL jest darmowe, jednak ideą open source nie jest cena oprogramowania, a otwartość i dostępność kodu źródłowego.

Dlatego niektóre aplikacje napisane na podstawie licencji open source są płatne. Na szczęście w większości przypadków programy open source należą jednocześnie do grupy aplikacji free software czyli programów darmowych.

Cena systemu CMS open source

Cena licencji

Główną zaletą systemów cms typu open source to cena licencji, która w tym przypadku wynosi 0 zł. Systemy cms open source oparte są na licencji GPL (General Public Licence) i są jednocześnie aplikacjami free software. Jednym słowem licencja systemu cms open source jest przeważnie darmowa.

Decydując się na wersję systemu cms open source można ją teoretycznie pobrać ze strony w sieci, zainstalować na komputerze i używać tak długo jak tylko chcemy. Niestety nie jest tak różowo jakby się mogło wydawać. Faktycznie można pobrać system za darmo ze strony, jednak sama instalacja systemu nie jest banalna.

Koszty wdrożenia

Instalacja systemu open source wymaga w przypadku instalacji podstawowych modułów przynajmniej średniej znajomości język HTML/CSS i podstaw PHP. Jeśli chcemy zainstalować dodatkowe moduły - konieczna jest znajomość PHP przynajmniej na średnim poziomie.

Przy instalacji możemy podpierać się opisami instalacji w formie plików dołączonych do systemu. Tylko co zrobić jeśli instrukcja nie wystarczy? Nie ma problemu – wystarczy zapisać się do forum użytkowników wybranego przez nas systemu i założyć nowy wątek - na pewno znajdzie się ktoś chętny do pomocy, kto za darmo postawi diagnozę i wyrazi swoją opinię co należy zrobić.

Z praktycznego punktu widzenia, jeśli chcemy postawić na system open source, najlepiej poszukać osoby, która ma doświadczenie z oprogramowaniem tego typu i bardzo dobrze zna dany system. Znalezienie takiej osoby nie jest specjalnie trudne - wystarczy napisać na forum poświęconym open sourcowym systemom cms. Wynajęcie takiej osoby ma dużo zalet:

  • nie musimy spędzać wielu godzin na zapoznawaniu się z dokumentacją wybranego systemu, która nie zawsze jest do końca jasno napisana

  • zaoszczędzimy wielu nerwów związanych z instalacją systemu na serwerze

  • dowiemy się wielu rzeczach, o których sami dowiedzielibyśmy się dopiero po dłuższym czasie spędzonym na czytaniu postów na forach

  • będziemy mieć jedną pewną osobę, do której będziemy zawsze mogli zwrócić się o pomoc, poprosić o update systemu czy zlecić wykonanie dodatkowych prac przy naszej stronie

  • za usługi przy wdrażaniu systemu open source zapłacimy stosunkowo niewiele w porównaniu do nakładu czasu jaki musielibyśmy przeznaczyć sami - w cenę wdrożenia przeważnie wyliczany jest faktyczny czas pracy, więc czym lepszego i bardziej doświadczonego specjalistę weźmiemy, tym szybciej wykona on dla nas serwis, i w ogólnym rozrachunku zapłacimy za całość mniej. Przeciętna cena wdrożenia jednego z bardziej znanych systemów cms typu open source w przypadku typowych zleceń to wydatek maksymalnie kilkaset złotych.
     

Cena komercyjnego systemu CMS

Cena licencji i wdrożenia

W przeciwieństwie do rozwiązań open source, które teoretycznie nic nie kosztują, licencje systemów są płatne. Istnieją dwa rodzaje licencji - terminowa i bezterminowa.

W przypadku terminowej licencji płacimy przeważnie określoną kwotę w formie abonament miesięcznego itp. za użytkowanie systemu. To rozwiązanie często powiązane jest z usługami hostingowymi, gdzie płacimy określoną kwotę za cały pakiet - utrzymanie domeny, hosting, zainstalowany system cms.

Jest to wygodne rozwiązanie, gdyż miesięczny abonament wynosi przeważnie niewiele - przeważnie kilkadziesiąt złotych, przez co nie jesteśmy narażeni na wysokie koszty. Poza tym nie musimy płacić za updaty systemu, które dostawca systemu zobowiązuje się regularnie wykonywać. Jest to dobre rozwiązanie gdyż teoretycznie cały czas mamy możliwość korzystania z najnowszej wersji systemu, pod warunkiem że dostawcy systemu zależy nad jego rozwijaniem, co różnie wygląda w różnych przypadkach.

Minusem tego rozwiązania jest konieczność regularnego płacenia abonamentu - jeśli nie zapłacimy w określonym terminie, dostawca systemu może w każdej chwili zablokować nam konto, ponieważ całość znajduje się na jego serwerze i może teoretycznie to zrobić.

Drugim rozwiązaniem jest zakupienie bezterminowej licencji. W tym przypadku płacimy jedną opłatę licencyjną, która umożliwia bezterminowe korzystanie z systemu. W ramach tego rozwiązania dostajemy przeważnie gwarancję producenta na określony w umowie okres czasu, plus support w postaci help-desku, hot-line oraz bezpłatne updaty systemu przez określony z góry okres np. jednego roku od daty zakupu. Jest to dość wygodne rozwiązanie. Wprawdzie musimy zapłacić więcej na starcie, ale później nie jesteśmy obarczeni dodatkowymi opłatami.

Pytanie co po roku, kiedy skończy nam się bezpłatne wsparcie oraz darmowe updaty systemu. Większość producentów oprogramowania, nie tylko w branży internetowej, umożliwia zakup nowszych wersji systemu - zakup konkretnych uaktualnień (możemy wybrać jaką część - moduł chcemy uaktualnić i wykupić tylko wybrane, lub cały pakiet zawierający wszystkie elementy systemu), bądź też czasowy dostęp do uaktualnień poprzez np. dostęp do updatów na stronie producenta po zalogowaniu.

Mimo wszystko w przypadku komercyjnego systemu cms musimy liczyć się z mniejszym lub większym wydatkiem na licencje. Może to być kilkadziesiąt złotych miesięcznie w przypadku opłaty abonamentowej, do kilku tysięcy w przypadku opłaty jednorazowej. Na szczęście na rynku jest wiele systemów cms, które za kilkaset złotych oferują bardzo duże możliwości. Nawet rozbudowane aplikacje portalowe i e-commerce, które jeszcze nie tak dawno kosztowały fortunę, dzisiaj są już w zasięgu nawet małej firmy. Za kilka tysięcy złotych możemy dostać system z dowolną ilość redaktorów, obsługiwany przez przeglądarkę internetową, z zaawansowanymi narzędziami do e-commerce i e-marketingu.

Możliwości systemów CMS open source

Wielu ludzi uważa, że możliwości systemów cms open source są bardzo duże. Mają racje.

Systemy cms open source to systemy modułowe, gdzie każdy moduł odpowiada za inną funkcjonalność systemu. Otwarty kod źródłowy umożliwia wprowadzanie dowolnych modyfikacji, dzięki czemu powstaje bardzo duża liczba różnych modułów funkcjonalnych. W Internecie dostępna jest nieskończona ilość różnego rodzaju modułów, które potrafią praktycznie wszystko.

Należy jednak wziąć pod uwagę sposób w jaki sposób powstają nowe moduły. Są one pisane przez różnych programistów (lub grupy programistów ), z różnych środowisk, z różnymi umiejętnościami i doświadczeniem. Własnymi siłami piszą oni moduły, których, ich zdaniem, brakuje w systemie, albo które sami chcą napisać lepiej niż te dostępne w danej chwili. Powoduje to, że ilość dostępnych modułów rośnie w dużym tempie. Niestety często różnice pomiędzy poszczególnymi modułami są albo niewielkie, albo żadne, albo polegają na różnicach kosmetycznych.

Dla wielu zwolenników open source wyznacznikiem możliwości systemu cms jest dostępność dużej ilości różnego rodzaju skór – tzw. templates, które w praktyce zmieniają tylko formatowanie graficzne poszczególnych elementów serwisu – rzadko zmieniają coś w układzie stron, który trzeba niestety zmieniać ręcznie edytując odpowiednie pliki.

Kolejną różnicą w stosunku do systemów komercyjnych jest zarządzanie treścią, która w przypadku systemów open source odbywa poprzez tzw. konsolę.

Nie można odebrać cms open source możliwości, ponieważ są one duże. Z drugiej strony duże możliwości mogą dla każdego oznaczać co innego. Wszystko zależy od tego jaki system porównamy z jakim. Często duże możliwości wypadają mizernie, kiedy przyrównamy je do komercyjnego systemu cms średniej klasy.

Możliwości komercyjnych systemów CMS

Komercyjne systemy html cms podobnie jak ich odpowiedniki open source również mają budowę modułową lub są systemami typu framework. Dużym plusem systemów komercyjnych jest zarządzanie serwisem przy użyciu dowolnej przeglądarki zgodnej z Internet Explorer 6.x. Nie jest to może powszechna, ale obecnie bardzo często spotykana funkcjonalność komercyjnych systemów CMS z prawdziwego zdarzenia.

Modułowe systemy CMS

W przypadku systemów modułowych, to co różni je od systemów open source to sposób powstawania nowych modułów. Komercyjne systemy cms pisane są przez jednego, kilka lub kilkanaście osób. Zdarza się, że nad systemem pracuje kilkadziesiąt osób, ale zdarza się to wyłącznie w przypadku systemów za dziesiątki tysięcy dolarów.

Na początku projektu powstaje szkielet, który jest spoiwem dla wszystkich elementów systemu – tzw. jądro. Na etapie projektowania jądra prace nad systemem prowadzone są przez grupę programistów składającą się z maksymalnie kilku osób. Tylko w takiej grupie można wypracować wspólny język, który później będzie zrozumiały dla większej grupy programistów. W momencie kiedy jądro - szkielet systemu jest gotowe, prace mogą być prowadzone przez kilka grup, które bazując na wytycznych pracują nad kolejnymi funkcjonalnościami systemu w postaci modułów współpracujących ze szkieletem.

Należy zaznaczyć, że podobny przebieg ma projektowanie systemów kasy open source z tą różnicą, że w momencie udostępnienia kodu źródłowego jądra, prace nad modułami prowadzone są przez setki – tysiące osób z całego świata.

Systemy CMS typu framework

CMSy typu framework to duże platformy, które umożliwiają parametryzowanie i dobór funkcjonalności systemu na potrzeby danego klienta. Są to systemy, które pozwalają budowanie cms'u takiego, jakiego życzy sobie klient, wykorzystując w tym celu dostępne moduły funkcjonalne.

Komercyjne CMSy pisane na zamówienie

Jeśli firma pisze cms’a na indywidualne zamówienie, wtedy klient może zażądać praktycznie każdej funkcjonalności, pod warunkiem że jest to fizycznie wykonalne, a klient gotowy jest za to zapłacić. Jednak systemy pisane indywidualnie dla klienta albo bardzo dużo kosztują, albo tak naprawdę są tylko panelami do dodawania i edycji treści, mającymi niewiele wspólnego z prawdziwym systemem cms.

Funkcjonalność komercyjnych systemów CMS

Dzisiejsze komercyjne systemy cms pisane są przeważnie z myślą o szerszej grupie odbiorców. Uwzględniają potrzeby ogółu  - czyli moduły, które będą przydatne każdemu, z możliwością dopisania lub przeróbki modułów na indywidualne życzenie klienta.

Systemy rozwijają się równolegle do potrzeb klientów. W przeciwieństwie do open source programiści nie siadają do nowego modułu, zaraz po telefonie klienta, który chciałby żeby system robił coś inaczej, tak jak on by to widział. Jeżeli system ma zostać wzbogacony o nową funkcjonalność, potrzeby muszą być uzasadnione, uwzględniać szerszą grupę klientów i wnosić do systemu jakąś nowość, chyba że klient zleca wykonanie danej funkcjonalności.

Takie podejście gwarantuje, że nowe moduły faktycznie wnoszą nowe funkcjonalności, a nie są tylko kolejnymi imitacjami już istniejących, trochę inaczej wyglądającymi i inaczej działającymi, jak to jest w przypadku kolejnych modułów open source. Każda nowa funkcjonalność czy ulepszenie starej nigdy nie powoduje naruszenie stabilności pozostałych elementów systemu, ponieważ zanim trafi do klientów jest szczegółowo testowana.

Ponadto tempo rozwoju komercyjnych systemów jest bardzo duże i nie ustępuje ono niczym w stosunku do systemów open source. Systemy komercyjne oferują często dużo więcej możliwości niż systemy darmowe w tym m.in. zarządzanie filmami video i streamingiem na żywo w dedykowanych systemach lub jako dodatkowe. 

Elastyczność komercyjnych systemów CMS

Zarzuca się systemom komercyjnym brak elastyczności i brak możliwości rozbudowy systemu bez ingerencji programistów z danej firmy wdrożeniowej. Oczywiście nie można jednoznacznie zaprzeczyć, ale zależy to też od systemu. W dużej części komercyjnych systemów cms niemożliwe są tylko zmiany w jądrze, które obsługuje dostępne moduły. Często klient ma dostęp do kodu źródłowego modułów, które może dowolnie modyfikować lub tworzyć nowe, własne moduły (np. Actualizer CMS).

Jeśli chcemy budować użyteczne strony www musi tutaj być zachowana zgodność języka, w którym napisany jest system, czyli jeśli system obsługuje moduły w PHP, nowe moduły muszą również być pisane w tym języku - tak samo wygląda to w przypadku systemów open source. Dlatego nie można zarzucać systemom komercyjnym braku elastyczności, gdyż możliwości rozbudowy tego rodzaju systemów po stronie klienta są często takie same jak w przypadku open source.

Wsparcie techniczne dla CMS open source

Pytanie co zrobić kiedy z naszą stroną zbudowaną na systemie open source zaczyna się coś dziać. Na przykład pojawia się nowa wersja przeglądarki i nagle elementy na stronie są niepoprawnie wyświetlane. W przypadku open source możemy albo zadzwonić do naszego webmastera – specjalistę od open source, który sprawdzi najnowsze informacje na forach internetowych i jeśli potrzebne poprawki są już dostępne w sieci – ściągnie je i zainstaluje w naszym serwisie. Czasem wystarczą niewielki zmiany w samym systemie, które zajmą webmasterowi kilka minut, czasem pomocy trzeba szukać na grupach dyskusyjnych i w update’ach systemu.

Dla jednych zaletą dla innych wadą jest brak konkretnych osób odpowiedzialnych za oprogramowanie open source. Według jednych jest to zaleta ponieważ jesteśmy niezależni – nie jesteśmy pozostawieni na łasce jednej firmy, która sprzedała nam system i do pomocy możemy wykorzystać praktycznie każdego kto zna się wersji systemu którą używamy, a takich osób jest przecież bardzo dużo – w grę wchodzi przecież cały świat. Jest to niewątpliwie zaleta systemów open source, ale czy do końca …

W życiu codziennym, czy mówimy o systemach cms, czy o usługach hydraulicznych lubimy korzystać z usług tych samych ludzi – ludzi których znamy, których polecili nam nasi znajomi i którzy znają dokładnie nasze problemy. W przypadku systemów open source również będziemy chcieli mieć do czynienia z jedną osobą, która będzie dostępna pod telefonem i do której w razie awarii systemu będziemy mogli zadzwonić.

Taka osoba daje nam pewność, że nasza strona będzie poprawnie działać 24/7, a tego przecież każdy z nas chce. Niestety nawet dobremu znajomemu po trzecim telefonie w końcu będziemy musieli zapłacić za usługę, gdyż musi poświęcić on swój czas, a jak wiemy czas to pieniądz i coraz więcej ludzi w Polsce zaczyna to rozumieć.

Wsparcie techniczne dla systemów komercyjnych

W przypadku komercyjnych systemów wraz z zakupem licencji dostajemy gwarancję prawidłowego działania systemu przez rok od zakupu, czasem więcej lat. W ramach gwarancji dostawca oprogramowania zobowiązuje się do darmowego usuwania usterek w okresie gwarancyjnym. Wystarczy wysłać maila lub zadzwonić, że coś z systemem jest nie tak. Przeważnie zawsze będziemy rozmawiać z jedną, przydzieloną nam osobą, która zna nie tylko sam system cms, ale zna również wdrożenie danego systemu u klienta, jakie moduły zostały zainstalowane, przez co bardzo szybko może zidentyfikować usterkę i szybko ją usunąć.

Bezpieczeństwo CMS open source

Jeśli chcemy korzystać z wielu różnych funkcjonalności systemu, jesteśmy zmuszeni do doinstalowania do jądra dodatkowe moduły. Sposób powstawania modułów funkcjonalnych opisany został powyżej. Nie możemy być 100% pewni, że moduły które instalujemy pozbawione są błędów - zamierzonych lub niezamierzonych.  Moduły pisane są przez osoby o różnym poziomie wiedzy. Często mimo najlepszych chęci w modułach znajdują się błędy, które zostają wykryte często dopiero w momencie, kiedy do któregoś serwisu dostaną się hakerzy.

Oczywiście po wykryciu dziury przez któregoś z użytkowników systemu open source informacja ta bardzo szybko trafia na forum, gdzie od razu grupa programistów poprawia dany moduł, przygotowując odpowiednią poprawkę, którą wystarczy zainstalować w swoim  systemie by móc spać spokojnie.

W przypadku systemów open source nie znamy intencji osób piszących moduły, które celowo mogą pozostawiać sobie furtki. Należy tutaj pamiętać, że jeśli na stronie zbieramy jakiekolwiek dane o użytkownikach – imię i nazwisko, adres czy nawet sam e-mail – odpowiadamy prawnie za ich bezpieczne przechowywanie. Jeśli do naszego serwisu włamie się haker i wykradnie naszą bazę mailingową i ta informacja dotrze do właściciela maila – może on dochodzić swoich praw zgodnie z ustawą o ochronie danych osobowych. Jest to przestroga dla tych wszystkich, którzy prowadzą sklepy internetowe w oparciu o systemy open source i przechowują w swojej bazie dane klientów.

Oto mail jednego z użytkowników opublikowany na forum poświęconych cms’om open source:

„Przedwczoraj wieczorem zhackowano moją stronę –turecka robota, a jakże by inaczej? Byłem co najmniej zszokowany, że się to stało, bo przeciez … uchodzi za najlepiej zabezpieczony CMS. Pierwsze co zrobiłem, to przywróciłem stronę główną, a następnie przejrzałem logi serwera. I co znalazłem? Kupę zagranicznych IP, z których ktoś uruchamiał plik /components/com_simpleboard/file_upload.php i za jego pomocą ładował pliki z jakiegoś serwera. Gdy skończyły się zapisy z tego uploadu zobaczyłem, że odpalany był plik /module/haluk.php – wiedziałem, że takiego pliku nie ma w …, więc wpisałem tą ścieżkę w przeglądarce i .. wyświetlił mi się menedżer plików, który bez żadnych haseł zapewniał dostęp do całej zawartości serwera! Usunąłem ten plik i wziąłem się do roboty – poprosiłem admina o gruntowne wyczyszczenie serwera i backup plików – akurat była dostępna kopia sprzed 20-stu godzin. Później zaktualizowałem skrypt do najnowszej wersji i załatałem dziury w komponencie Simpleboard.”

Dalej opis jak naprawić błędy w kodzie, aby uniknąć tak przykrego zdarzenia.

Jedna jaskółka wiosny nie czyni, ale takich przypadków niestety na grupach można spotkać więcej. Analizując fora można samemu przekonać się jak dużo różnego rodzaju błędów jest stale eliminowane przez programistów. Wydawać by się mogło, że skoro systemy mają po kilka lat, to przez ten czas powinny być pewne chociaż w kwestii bezpieczeństwa. Niestety ponieważ cały czas wychodzą nowe jądra systemu wzbogacone o nowe funkcjonalności oraz nowe moduły, programiści cały czas mają ręce pełne roboty, a użytkownicy systemu cierpliwie wyczekują poprawek.

Bezpieczeństwo komercyjnych systemów CMS

To, co odróżnia systemy komercyjne od open source jest zamknięty kod źródłowy. Oznacza to, że kod aplikacji napisanej do celów komercyjnych jest strzeżoną tajemnicą właściciela. Kod programu dostępny jest tylko wąskiej grupie programistów – pracowników firmy, którzy często zobowiązani są do podpisania klauzuli o poufności informacji, łącznie z odpowiedzialnością finansową a nawet karną.

Ciekawostka

Jedną z najbardziej rygorystycznych firm pod tym względem jest Google Inc., którego pracownicy podpisują dokument, w którym Google zastrzega sobie prawo do wszelkiego dzieła stworzonego przez pracownika w trakcie i poza godzinami pracy. Jednym słowem wszystko co pracownik zrobi, a co ma związek z Internetem staje się własnością Google.

Takie podejście eliminuje w dużym stopniu (bo niestety nie całkowicie) możliwość wycieku kodu poza firmę. Z jednej strony jest to ważne dla firmy, która inwestując często duże sumy w stworzenie oprogramowania zabezpiecza się przed ewentualnym skopiowaniem oprogramowania przez inną firmę. Z drugiej strony brak dostępu do kodu uniemożliwia w dużym stopniu znalezienie luk w programie, które mogłyby być wykorzystane do przeprowadzenia ataku i włamanie do systemu przez hakerów.

Niektórzy stawiają zarzuty systemom komercyjnym, że właściciel systemu może specjalnie umieścić w nim furtki, aby móc je później wykorzystać do własnych celów. Nie można całkowicie odrzucić tego zarzutu jako bezpodstawny, jednak należy rozważyć na czym najbardziej zależy producentom oprogramowania.

Firmie sprzedającej oprogramowanie zależy w podobnym stopniu na bezpieczeństwie danych klienta, co samemu klientowi. Wszelkie, nawet najmniejsze wpadki mogą bardzo negatywnie wpłynąć na wizerunek firmy na rynku i tym samym na sprzedaż oprogramowania, nie mówiąc już o wykradaniu danych klienta używając do tego stworzonych przez siebie furtek.

Poza tym, decydując się na współpracę z firmą komercyjną często sami dobrowolnie udostępniamy informacje o dostawcach czy klientach na etapie projektowania różnych mechanizmów. Robią tak wszystkie firmy, które korzystają z oprogramowania wspomagającego działalność firmy –  nie tylko oprogramowanie typu cms, a dzisiaj jest to zdecydowana większość firm działających na rynku bez względu na branżę.

Podsumowanie

Nie ma przewagi jednego rodzaju oprogramowania nad drugim. Zarówno systemy komercyjne i open source mają swoje wady i zalety. Przy decyzji jakiego oprogramowania będziemy używać powinniśmy wziąć pod uwagę przede wszystkim jakim rodzajem serwisu chcemy zarządzać - czy ma on pomagać nam w zarabianiu pieniędzy czy też nie, oraz naszą wiedzę i umiejętności i doświadczenie z dziedziny projektowania stron internetowych - czym jest ona większa, tym bardziej możemy pomyśleć o zastosowaniu rozwiązań open source - przy współpracy z osobą znającą dany system takie rozwiązanie może się okazać tańsze i podobnie użyteczne co zakup systemu komercyjnego i współpraca z profesjonalną firmą.

Jeśli natomiast nasza wiedza w tym obszarze nie jest duża, powinniśmy postawić na maksymalnie proste rozwiązanie napisane przez profesjonalistów, przerzucając odpowiedzialność na firmę projektową - dostawcę oprogramowania.

Porównanie systemów CMS - komercyjnych i open source

 
 CMS Open Source CMS Komercyjny 
Cena licencji Licencja darmowa - system każdy może ściągnąć z Internetu za darmo.
  • Licencja bezterminowa - jednorazowa płatność z prawem do bezterminowego korzystania z systemu, gwarancja na rok w tym darmowe update'y, instalacja na serwerze klienta
  • Licencja abonamentowa - płatność w formie abonamentu np. miesięcznego, często połączona z hostingiem - instalacja na serwerze dostawcy oprogramowania, dostawca wykonuje updaty systemu i dba o infrastrukturę serwerową.
Koszt wdrożenia Możliwe darmowe wdrożenie jeśli posiadamy wiedzę i doświadczenie w projektowaniu stron internetowych.

W praktyce konieczne wynajęcie osoby znającej dany system i podpisanie umowy na obsługę serwisu.
Koszt wdrożenia uzależniony od ilości uruchamianych funkcjonalności i dodatkowych prac na zlecenie klienta - np. wykonanie projektu graficznego, kodowanie szablonów, integracja serwisu z innym systemem informatycznym itp.
Możliwości systemu Rozwiązania modułowe - duża ilość modułów, niestety częste powielanie funkcjonalności, duża ilość dostępnych szablonów.

Zarządzanie serwisem poprzez konsolę.
Duże możliwości  funkcjonalne, dopracowanie modułów pod względem funkcjonalności i bezpieczeństwa.

Rozwiązania modułowe i framework umożliwiające dostosowanie systemu do indywidualnych potrzeb klienta.

Zarządzanie serwisem poprzez przeglądarkę zgodną z Internet Explorer.
Wsparcie techniczne Brak osób odpowiedzialnych za funkcjonowanie systemu - ewentualna odpowiedzialność spada na administratora wykonującego instalację.

Brak gwarancji prócz tej udzielanej przez administratora.

Wsparcie poprzez dedykowane  strony internetowe i fora dyskusyjne.
Za działanie systemu odpowiedzialny jest producent oprogramowania oraz autoryzowana firma wykonująca jego wdrożenie.

Gwarancja udzielana przez producenta/firmę wdrażającą oprogramowania na minimum rok od wdrożenia.

Wsparcie techniczne poprzez hot-line, help-desk w okresie gwarancji darmowe update'y.

Po okresie gwarancyjnym - płatne update'y lub umowa na obsługę serwisową.
 Bezpieczeństwo Bardzo wielu programistów z całego świata, przez co brak spójności w oprogramowaniu, dziury w modułach, ciągłe poprawki i updaty. Małe grupy programistów piszących oprogramowanie autorskie, przed wypuszczeniem updatu systemy dokładnie testowane, systemy stabilniejsze z mniejszą ilością błędów.