PaSH – otwarty PowerShell

Igor Moochnick ogłosił powstanie powłoki Pash – otwartej implementacji PowerShell, obiektowej powłoki tekstowej stworzonej przez Microsoft.

Jak podaje serwis DobreProgramy:

[..]nazwa pochodzi od PoSH (PowerShell) i bash. Ma być przenośny a jednocześnie móc w miarę bezproblemowo uruchamiać istniejące skrypty PS. Ma być też możliwość używania Pasha przez inne aplikacje. Pash jest napisany w .Net 2.0 i można go skompilować za pomocą Visual Studio 2008 oraz Mono. Po kompilacji te same binaria można uruchamiać na Linuksie, Mac OS X, Windows i innych systemach.

PaSH jest dostępne na licencjach BSD oraz GNU General Public License (GPL).

O standardowej powłoce Windows, którą zastępuje PoweShell, możesz przeczytać w artykule: cmd.exe dla fanatyków Linuksa.

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar nat
    nat

    Jeden program na dwoch licencjach? Ciekawe.

    1. Awatar bns
      bns

      Nic nadzwyczajnego. Java podajże, też jest podwójnie licencjonowana 😉

      1. Awatar morsik
        morsik

        A Mozilla Firefox posiada 3 licencje ;]

        1. Awatar nat
          nat

          ale nie jako caly produkt, raczej czesci kodu
          sa roznie licencjonowane, patrz przyklad nizej.

    2. Awatar tomek
      tomek

      Kod Firefoksa jest dostępny na trzech licencjach (GPL, MPL i coś tam jeszcze) – sam wybierasz jaka ci odpowiada.
      Taka biblioteka Qt jest też podwójnie licencjonowana – albo GPL albo licencja komercyjna (np. Opera korzysta z tej drugiej opcji).
      Jest to dosyć znana praktyka.

      1. Awatar nat
        nat

        no tak, Opera nie udostepnia zrodel, wiec ciezko, zeby
        korzystala z Qt na GPL.

        ale z Firefoxem to chyba jest tak, ze _rozne_ czesci kodu
        sa na roznych licencjach? w kazdym razie dzieki za oswiecenie.

        1. Awatar grze_S
          grze_S

          Z tym że ta licencja QT polega na tym chyba że zapłacić musisz za stworzenie programu płatnego, ale pewny nie jestem…

        2. Awatar nat
          nat

          przyklad: z Release Notes do SeaMonkey 1.1.2:

          # Copyright © 1998–2007 by Contributors to
          the Mozilla codebase under the Mozilla Public License
          and other licenses. All Rights Reserved.

          # Portions of this software are copyright © 1994 The Regents of the University of California. All Rights Reserved.

          # Portions of this software are copyright © 2000–2002 Japan Network Information Center. All Rights Reserved.

          # This software may contain portions that are copyright © 1998–2002 SupportSoft, Inc. All Rights Reserved.

          mam podejrzenie, ze FF jest podobnie, dlatego wolalem
          rozroznic miedzy jednym programem i trzema licencjami
          do wyboru (w zaleznosci od tego, co sie pozniej z tym
          robi), a faktem, ze rozne czesci kodu sa licencjonowane
          na roznych zasadach.

        3. Awatar tomek
          tomek

          no nie bardzo – różne części kodu mogą być "copyrighted" przez różne podmioty (różni ludzie/różne firmy są autorami różnych części kodu) i przykład podany powyżej mówi tylko o tym.
          Natomiast co do licencji, to jeśli różne części kodu byłyby różnie licencjonowane, to praktycznie uniemożliwiłoby to w wielu przypadkach rozpowszechnianie programu. Nie wszystkie licencje są ze sobą kompatybilne (co znaczy tyle, że nie można mieszać kodu olicencjonowanego niekompatybilnymi licencjami). Na przykład taki GPL nie jest kompatybilny z MPL, a właśnie na tych dwóch licencjach (i na jeszcze jakiejś) wydany jest Firefox.
          .
          Inny przykład, to biblioteka GNU C++ – jeśli zajrzy się do takich nagłówków od komponentu STL, to widać, że jest tam kilka informacji o prawach autorskich (copyright notice) i każda z nich mówi o jakichś tam zasadach rozpowszechniania. Na samej górze jest napisane, że całość jest na GPL. Jak to możliwe? A no tak, że te wcześniejsze zasady nie zabraniały objęcia kodu licencją GPL – projekt GNU skorzystał z istniejącego kodu STL i zgodnie z prawem wydał swoje modyfikacje na GNU GPL (zgodnie z prawem, bo autorzy tych pierwotnych wersji na to pozwolili ustalając takie a nie inne zasady rozpowszechniania, albo po prostu udzielając wyłącznej zgody projektowi GNU na zmianę licencji).
          Na przykład taki plik /usr/include/c++/wersja/bits/stl_deque.h ma trzy informacje o prawach autorskich:
          1994 – Hewlet-Packard,
          1997 – SGI
          2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
          HP wydało kod na zasadach wolnej licencji, kompatybilnej w 100% z GNU GPL, dzięki czemu FSF mogło swoją zmodyfikowaną wersję objąć GPLem.

        4. Awatar trasz
          trasz

          @tomek: Tak gwoli scislosci, to "nie wszystkie licencje sa ze soba kompatybilne" jest pewnym niedopowiedzeniem. Dokladnie to chodzi o to, ze GPL – i tylko GPL, w dodatku wylacznie w interpretacji Stallmanowskiej, bynajmniej nie jedynej – jest ze spora ilosci licencji niekompatybilna.

        5. Awatar tomek
          tomek

          pan profesor prawa się odezwał

        6. Awatar trasz
          trasz

          @tomek: To akurat jest dosyc znana kwestia. Licencje same z siebie niekompatybilne nie sa. Problem w tym, ze RMS twierdzi, ze GPL zabrania laczenia z kodem nie-GPL. Zadna inna znana mi licencja nie zawiera tego typu zapisow. Zreszta GPL tez w sensie stricte nie zawiera; RMS twierdzi, ze to wynika z tego, co w niej jest napisane, a czesc prawnikow twierdzi cos dokladnie przeciwnego.

        7. Awatar nat
          nat

          @tomek: nie obrażaj ludzi, nawet takich jak trasz.

        8. Awatar trasz
          trasz

          @nat: Nie poczulem sie urazony. Nie palam pogarda dla prawnikow. Przeszlo mi, jak sie troche o prawie dowiedzialem i przestalem uwazac je za dziedzine pokrewna ufologii.

        9. Awatar nat
          nat

          @trasz: to nie jest sprawa ufologii. znacznie powazniejsza:
          tworzenie czegos dosc zawiklanego, brak zwalczania wewnetrznych niespojnosci, monopol na interpretacje i
          wyroki, a wreszcie zbijanie kasy na spolecznym zapotrzebowaniu
          na te interpretacje. mysle, ze lepiej by bylo, gdyby ludzie
          nie wymyslili tego zawodu…

        10. Awatar trasz
          trasz

          @nat: Pewnie chodzi ci o to, ze jakby zrobili to cale prawo w jakims strukturalnym jezyku, uzywajac metod z inzynierii oprogramowania, to by bylo lepiej. Tez tak kiedys uwazalem. W wielkim skrocie – nie, to nie dziala w ten sposob.

        11. Awatar nat
          nat

          nie, chodzi o motanie i o wewnetrzne sprzecznosci,
          ktore nikomu nie przeszkadzaja. nie przekonasz mnie,
          bo nie : ) to nie jest pogarda, tylko niechec i
          obrona. nie jestem informatykiem, tylko fizykiem.
          wole prawa natury od praw stanowionych : )

    3. Awatar pdemb
      pdemb

      Multilicensing to najlepsza rzecz od czasu wynalezienia chleba bez skórki.

  2. Awatar Gf
    Gf

    czy to znaczy ze skrypty bashowe beda dzialac w findofs?
    to moze i perl normalnie zacznie dzialac, awk grep, troff. wielu ludzi na pewno by sie ucieszylo.

    1. Awatar tomek
      tomek

      hmm… z tego co tu piszą, to PaSH jest implementacją PowerShell a nie bash'a, więc obsługuje skrypty tego pierwszego

    2. Awatar abc
      abc

      Bash już teraz działa w Windows, ale musisz go sam doinstalować.

      1. Awatar nat
        nat

        windows czy bash?

        1. Awatar uzytkownik
          uzytkownik

          W moim przypadku Windows. Basha już mam.

        2. Awatar nat
          nat

          ja tez, ale pod Linuxem i nie wiem po co Windows…

    3. Awatar pdemb
      pdemb

      I tak powinny działać, od tego jest Cygwin.

    4. Awatar trasz
      trasz

      @Gf: Przeciez wszystko to normalnie dziala od lat. Services for Unix, Cygwin…

      1. Awatar kubusja
        kubusja

        Normalnie to bym nie nazwał. Mało wydajnie – owszem.

        Dlatego niestety obecnie moim zdaniem najlepszym wyborem jest Python.

  3. Awatar Shagwest
    Shagwest

    Zaraz sie okaże, że PowerShell obwarowany jest 176 patentami i cały projekt pójdzie wp…

    1. Awatar houp
      houp

      Być może. Póki co ludziom z MS się podoba:

      http://blogs.msdn.com/powershell/archive/2008/04/…

  4. Awatar quick fingers
    quick fingers

    następna technologia firmy Microsoft będzie dostępna na Linuxie. Czyżby open source już się wypalił i nie stać ich na własne innowacyjne pomysły?

    1. Awatar Michal
      Michal

      powershell to straszne gówno, wystarczy popatrzyc na przyklady kodu.

      1. Awatar nat
        nat

        gowno to jest w Polsce na chodnikach i trawnikach.

    2. Awatar mby7930
      mby7930

      Tu chodzi bardziej o interoperacyjność niż innowacyjność i właśnie samodzielna implementacja Powershella na Linuksa jest tego przykładem.
      Jeżeli już koniecznie chcesz rozmawiać o innowacyjności, to jest przecież już od dawna j.programowania Python, więc sam Powershell to żadna innowacyjność, nie wspominając nawet przecież o bashu.

    3. Awatar tomek
      tomek

      następna technologia firmy Microsoft będzie dostępna na Linuxie. Czyżby open source już się wypalił i nie stać ich na własne innowacyjne pomysły?

      To nie do końca tak. Microsoftowi jest na rękę sytuacja, w której ich technologie są przenoszone na Linuksa, bo wtedy to konkurencja się dostosowuje do nich, a nie oni do konkurencji. Jest też wielu ludzi, którzy po prostu są przyzwyczajeni/uzależnieni od technologii Mikrosoftu i znajdują się wśród nich tacy, którzy przenoszą te technologie na Linuksa.
      Nie zmienia to faktu, że te Mikrosoftowe technologie na Linuksie po prostu nie są do niczego potrzebne. Taki PaSH przyda się jedynie tym, którzy są zaznajomieni z PowerShell'em, czyli użytkownikom windowsa, a samemu Linuksowi żadnych korzyści nie przyniesie (powłok Uniksowych jest tyle i są na tyle rozwinięte, że o wiele młodsza technologia – PowerShell – nie jest wstanie ich zastąpić w jakikolwiek sposób).
      .
      Niektórzy mogą się nie zgodzić z tym co napisałem, argumentując właśnie że to kwestią interoperacyjności. No ale z jakiej racji to cały świat ma się dostosowywać do Mikrosoftu? W końcu ta interoperacyjność jest bardziej w interesie tej firmy, bo to ona traci na tym, że jej produkty są niezgodne z całą resztą.
      Wiele instytucji stwierdziło, że nie będą przechowywać danych w formacie .doc, bo potem są problemy z ich otwieraniem, a chcąc zapisywać w otwartym formacie zaczęli używać konkurencyjnych pakietów biurowych. Co zrobił Mikrosoft? Zamiast zaimplementować ODF w MSO, stworzył swój własny (pseudootwarty) format i kazał się wszystkim dostosować.
      Była sobie Java, która pozwalała pisać programy uruchamiające się na prawie każdej platformie sprzętowej, bez konieczności rekompilacji. Mikrosoft najpierw próbował zwalczyć Javę, bo zagrażała taka technologia zagrażała jego monopolowi. Jak się okazało, że przemysł potrzebuje takiej technologii, to stworzyli .NET i kazali się wszystkim przystosować.
      Taki PaSH to kolejna technologia, która powoduje dostosowanie się świata do Mikrosoftu.
      Mono.
      Silverlight.
      XPS (zamiennik PDFa tak potrzebny światu jak OOXML…).

  5. Awatar mario
    mario

    Może ktoś powiedzieć jakie są zalety stosowania PowerShell w stosunku do basha?

    1. Awatar nat
      nat

      ma w nazwie „Power'', a nie „Bourne''?.. albo jakas
      maskotke w srodku, ktora podpowiada co napisac…

    2. Awatar sprae
      sprae

      Pozwala na używanie obiektów .net w środowisku shell.

      1. Awatar nat
        nat

        to cos konkretnego, czy w wersji dla Linuxa bedzie
        odpowiednik z mono?

        1. Awatar mby7930
          mby7930

          "Pash jest napisany w .Net 2.0 i można go skompilować za pomocą Visual Studio 2008 oraz Mono."

          Masz w treści wiadomości.

        2. Awatar nat
          nat

          ok, skompilowac czemu nie, ale sprae mowil chyba
          o czyms innym?

        3. Awatar sprae
          sprae

          To znaczy, że pod Linuksem będziesz mógł używać obiektów .net z mono np. GTK#, albo cairo# i innych bibliotek do obsługi http, czy xml. Co pozwala na tworzenie ciekawych rozwiązań w shellu.
          Oczywiście od dawna mamy ipython, czy inne irb z konsolami interaktywnymi pozwalające na podobne rozwiązania. W świecie wolności rozwiązań nigdy mało, a takie konkurencyjne pozwala dostrzec co już mamy, a czego nam jeszcze brakuje.

      2. Awatar tomek
        tomek

        Pozwala na używanie obiektów .net w środowisku shell.

        A komu to potrzebne?
        Tak zwani "zwyczajni użytkownicy" korzystają tylko z programów okienkowych.
        Jak ktoś lubi robić coś pod konsolą, to nie potrzebuje opierać się na technologii .NET – bo i po co?
        Administratorzy serwerów i innych systemów Uniksowych także nie korzystają z technologii .NET.
        Wniosek? PaSH w Uniksie nie jest potrzebny

        1. Awatar sprae
          sprae

          To pozwala na napisanie w shellu prawie dowolnej aplikacji okienkowej, co dla adminów byłoby niezłym ułatwieniem czasem.
          Oczywiście jest to typowe rozwiązanie z platformy Windows nie całkiem przystające do naszych rozwiązań ale za to może być impulsem do dalszego ich rozwoju.

        2. Awatar tomek
          tomek

          To pozwala na napisanie w shellu prawie dowolnej aplikacji okienkowej, co dla adminów byłoby niezłym ułatwieniem czasem.

          ??
          Przecież w Uniksie od dawna są okienkowe programy do administracji. Nie potrzeba do tego .NET. Nawet są specjalne biblioteki pozwalające tworzyć aplikacje graficzne za pomocą skryptów…
          A i tak w poważnych zastosowaniach się nie stosuje interfejsu graficznego, z różnych powodów.

        3. Awatar Ku8a
          Ku8a

          Bredzisz misiu..nie ma zadnych powodow, zeby nie stosowac GUI w powaznych zastosowaniach. Wiecej, stosuje sie.

        4. Awatar tomek
          tomek

          jasne, bo admin, który zarządza serwerem www albo bazą danych będzie stosował jakiś gui-program napisany w mono, tym bardziej, że łączy się z serwerem zdalnie, po powłoce, bo serwer nie ma podłączonego monitora.
          Unix to nie Windows

        5. Awatar sprae
          sprae

          Tomek: Przestań bo oplułem monitor herbatą.

        6. Awatar Ku8a
          Ku8a

          tomek: dokladnie, przestan bo dajesz dowod swojej ignorancji. Dlaczego to GUI jest takie zle? Bo konsola wyglada 'madrzej' i bardziej 'cool'? Czujesz sie mastahem kiedy wpisujesz swoje zaklecia z klawiaturki i komputer robi co chcesz? Poza tym co ma wspolnego fakt braku monitora i tego, ze sie laczysz zdalnie z tym, ze nie mozesz uzywac graficznego interfejsu? Zeby daleko nie szukac 3 przyklady 'GUI i powaznych zastosowan' dzialajacych na komputerze z ktorego to teraz pisze:
          – VMware server console 1.0.4
          – Cisco CNR 6.1
          – HP iLO

        7. Awatar trasz
          trasz

          @Ku8a: Dolicz jeszcze chociazby Oracle’a, ktorego bez GUI w ogole nie zainstalujesz.

        8. Awatar tomek
          tomek

          no dobra. może przesadzam z tym nieużywaniem gui.
          co do używania wiersza poleceń zamiast programów okienkowych, to w wielu przypadkach chodzi po prostu o kwestię bezpieczeństwa (np. zdalne łączenie się po X jest z zasady mniej bezpieczne niż łączenie się po konsoli).
          Ale racja, nie wziąłem pod uwagę uruchamiania programów okienkowych "na" połączeniu konsolowym (tzn. okienka ze skryptów bash'a).
          .
          Przez to wszystko sam zszedłem z tematu, o którym pisałem wcześniej. Chodzi o to, że ja po prostu nie widzę żadnej przewagi PaSH'a nad istniejącymi już rozwiązaniami. Tak jak napisał sprae – pojawienie się tego może być impulsem do dalszego rozwoju takich rozwiązań jak zenity albo KDialog, i dla Uniksowych adminów jest to lepsze rozwiązanie niż opierać wszystko na jakiejś dodatkowej nakładce w stylu Mono (system->mono->pash->script-gui vs. system->*sh->script-gui).

        9. Awatar kubusja
          kubusja

          Oj trasz, rozmawiamy o Linuksie a nie Windows…

          Instalowalem ostatnio Oracle kilkukrotnie na Linuksie i nie potrzebowałem GUI …

          Tylko trzeba miec troche wiecej wiedzy niz z kursu "Oracle GUI Installer Administrator"

        10. Awatar trasz
          trasz

          @kubusja: O, to cos nowego. Znaczy co, Oracle juz nie ma tego javovego instalatora?

        11. Awatar Ku8a
          Ku8a

          @kubusja: po co to wszystko jesli mozna to zrobic latwo, szybko i przyjemnie z GUI? Lubisz wyzwania?;)
          @tomek: a ja przepraszam, ze sie troche unioslem. Nie kazdy tutaj potrafi powiedziec: 'ok pomylilem sie' albo 'nie pomyslalem o tym'. Respect. A co do samego PaSH'a to jak zwykle zadecyduja uzytkownicy. Ktos chce cos zrobic? Chwala mu za to.

    3. Awatar mby7930
      mby7930

      To tak jak z ODF i ooxml. m$ mógłby wspierać ODF, ale oczywiście musiał wymyślić własny "standard".

      1. Awatar trasz
        trasz

        To tak samo, jak z DOC i ODF, Sun moglby wspierac oficjalnie DOC, ale oczywiscie musial wymyslic wlasny standard. I tak dalej, i tak dalej. Wiec nie, nie mogl, ani jeden, ani drugi, z podobnych powodow.

        1. Awatar nat
          nat

          A MS dalby Sunowi specyfikacje .doc-a?

        2. Awatar trasz
          trasz

          @nat: Specyfikacje daje zwykle ten, kto przeklada do standaryzacji. Skoro Sun zaimplementowal, to pewnie potrafi opisac.

        3. Awatar nat
          nat

          Moment, rozumiem, ze MS nie zabiegal o to, zeby DOC byl
          standardem (nie wierze, ale Boze uchowaj), chodzilo mi
          tylko o to, czy produkty Suna (StarOffice, a pozniej
          OpenOffice.org) moga obslugiwac .doc, .xls, lacznie ze
          wszystkimi bajerami jak tabelki czy cos tam, na czym
          dzis sie ponoc wykrzaczaja…

          Chyba nie moga, i jest to albo spowodowane tym, ze Sun
          nie wystapil do MS o szczegoly formatu DOC (we wszystkich
          wersjach, za wielosc ktorych tak bardzo wszyscy kochamy
          MS) i wolal robic reverse-engineering, albo poprosil i
          dowiedzial sie od MS, gdzie babcia nosi kobialke, albo
          gdzie sie zgina dziob Tuxa…

        4. Awatar trasz
          trasz

          @nat: Heh. Odpowiedz jest prostsza i ogolniejsza – wykrzaczaja sie, bo nikt nie poprawil. Nic nie jest idealne, implementacja OOXML i ODF-a tez nie bedzie, po zadnej ze stron. Pytanie tylko, na ile ta nieidealnosc bedzie sie dawala we znaki.

        5. Awatar tomekp
          tomekp

          @trasz:

          To tak samo, jak z DOC i ODF, Sun moglby wspierac oficjalnie DOC, ale oczywiscie musial wymyslic wlasny standard.

          to DOC byl standardem? jesli byl to czy byla dostepna ogolnie specyfikacja i mozliwosc swobodnej implementacji? pytam powaznie. a jesli DOC nie byl standardem to w takim razie ODF byl pierwszy i nie mozesz krzyczec, po co standard ODF. mozesz spytac po co drugi – OOXML?

        6. Awatar mario
          mario

          Microsoft udostępnił (na żądanie) specyfikację DOCa dopiero wtedy gdy zaczął przegrywać przetargi z SUNem i innymi firmami oferującymi oprogramowanie wspierające otwarty ODF. Ostatnio dopiero upublicznili w pełni specyfikację, po to aby przeszedł proces standaryzacji OOXML, który do tych zamkniętych specyfikacji się odwoływał. Tak więc SUN nie mógł w pełni zaimplementować DOCa … zresztą sam Microsoft nie potrafi, bo co wersja MS Office to stare dokumenty są poprzestawiane.

          Otwarty standard był wymagany i Sun wraz z wieloma innymi firmami stworzyli niezależną organizację OASIS, która to owy pierwszy otwarty standard stworzyła. Microsoft boi się utraty monopolu i stworzył własny standard, który pomoże im ten monopol przedłużyć.

          Zauważ różnicę, Sun + wiele innych firm, czyli niezależna organizacja OASIS stworzyli otwarty i niezależny standard – Microsoft SAM stworzył swój otwarty standard – kwestia tylko:
          1. na ile jest on otwarty i niezależny?
          2. po co powstał drugi standard?
          3. dlaczego Microsoft nie zaimplementował ODF, przecież sam należy do OASIS?

      2. Awatar Vogel
        Vogel

        Zawsze to jakaś konkurencja. Być może bash będzie musiał się rozwinąć, żeby w którymś miejscu dogonić PS 😉

        1. Awatar tomek
          tomek

          hmm… tylko w czym tu doganiać PaSH'a?

  6. Awatar Budyń
    Budyń

    Dawno się tak nie uśmiałem – generalnie, widzę, że oba obozy najwyraźniej poza wykształceniem i praktyką, są jeszcze pozbawione rozsadku i elementarnej znajomości swojego wroga, że o obiektywiźmie nie wspomnę…

    Bash i reszta powstały dla systemów Unix-podobnych. Takich gdzie wszystko (prawie wszystko) z założenia jest plikiem. Dlatego zorientowane są na pliki i ich zawartość czyli ciągi tekstu. Dlatego też niektórzy uważają ssh, gawk/sed/perl za intergalną część systemu (co było widać w komentarzach do tekstu o cmd.exe) oraz z definicji wszystko co inne, uważają za złe/niewygodne/nieintuicyjne. No i mają czelność wyrzucać innym 'klapki na oczach' :>

    PowerShell powstał w oparciu o .NET czyli środowisko wybitnie obiektowe, dla _PRZYSZŁYCH_ systemów operacyjnych których poprzednicy (już obecne na rynku) w taki czy inny sposób (od COM zaczynając) są w mniejszym lub większym stopniu zorientowane OBIEKTOWO.

    Wniosek z tego taki, że bash na Windows i PowerShell na Linux to takie same kulawe protezy, projekty pt. sztuka dla sztuki i o wartości wyłacznie edukacyjnej. Po prostu NIJAK jedno do drugiego nie pasuje. W swoich własnych srodowiskach są bezkonkurencyjne, a poza nimi – bezradne.

    Ironią losu jest, że PowerShell – czyli najnowoczesniejszy shell na świecie – jest znacznie bardziej spójny i obiektowy niż cała rodzina OS na których działa razem wzięta (gdzie ten OS/2…). I dlatego też przynajmniej do Windows 7 albo i później, skrzydeł nie rozwinie.

    Tylko po co ja to tłumacze ludziom, którzy sądzą że "Windows nie nadaje się na serwer" albo że "MS Admini nie potrafią skryptować" albo – jak tutaj – winią MS za to, ze powstaje kolejna Wolna i Otwarta implementacja jednego z projektów firmy.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *