Fenomen Githuba

0

Witam, dopiero wkraczam na ścieżkę developera. prawdopodobnie pytanie pytanie wydawać się może głupie jednak mnie zastanawia pewna rzecz.

Otóż do zastosowań pracy zespołowej w jakiejś firmie, gdy wiele osób pracuje nad tym samym zagadnieniem to taki system wersjonowania jest jak najbardziej użyteczny.

Jednak zastanawia mnie w jakim celu tworzy się tam osobiste konta i umieszcza jakieś swoje własne kody. Jaki jest sens upubliczniać swoją ciężką pracę? Ktoś to przecież skopiuje, udoskonali według własnych upodobań, wyskoczy z tym na rynek i jeszcze będzie trzepał za to kasę. No nie wiem, przynajmniej ja to sobie tak wyobrażam.

0

taki sam jak tworzenie własny tutoriali, stron, portfolio, pokazujesz co umiesz i również dajesz kod do oceny, merytoryczne uwagi czytasz i poprawiasz jakość swojej pracy

0

A skąd pewność, że ktoś sobie tego kodu nie przywłaszczy i opublikuje w zmienionej wersji twierdząc, że kod jest jego?

3
someone123 napisał(a):

Ktoś to przecież skopiuje, udoskonali według własnych upodobań, wyskoczy z tym na rynek i jeszcze będzie trzepał za to kasę.

No przecież tak działa Linux i cały rynek oprogramowania opensource (z tym trzepaniem kasy to jeszcze zależy od licencji).

Z punktu widzenia programisty to taki github jest jego technicznym portfolio, tym czym może się pochwalić na rozmowie kwalifikacyjnej.

0

To nie lepiej ukończyć jakiś projekt i udostępnić jedynie jego binarke? To przecież jak wolontariat..

2

Jak ocenisz kod na podstawie binarki?
Nie chce mi się pisać o modelu biznesowym opensource i korzyściach płynących z udostępniania swojego kodu, szczególnie gdy sam się uczysz a nie jesteś magikiem piszącym super tajne algorytmy dla NSA. Pogoogluj, poczytaj. Nie martw się, że ktoś przywłaszczy Twoją pracę, bo uwierz mi, ale mnóstwo genialnych ludzi napisało mnóstwo dobrego kodu i to wszystko jest dostępne w sieci.

5

Od napisania kodu, do trzepania kasy długa droga. Jeden programista może napisać kawałek kodu, ale produkt tworzy zespół ludzi. Produkt stworzony przez jedną osobę zawsze będzie niedomagał, albo będzie ubogi w opcje, albo nie będzie spełniał potrzeb użytkowników, albo będzie kiepsko rozreklamowany, albo będzie miał kiepski support, albo wszystko razem. Gdyby to było takie proste, to wszyscy bylibyśmy milionerami, a nie programistami na etacie, którzy w wolnej chwili na kawę odpowiadają na głupie pytania na forum.

5

Tak, napiszesz jakas 12414234 wersję sklepu internetowego albo 343242342 wersje DownloadManagera i ktoś to ściągnie i wykorzysta jako Twoje :D

0

W firmie , jeśli nie tworzy oprogramowania open source, to programiści mają dostęp do wewnętrznego repozytorium w firmie.... Jeśli nie chcesz udostępniać, to nie tworzysz konta i nie udostępniasz, co za problem?

8

Z podobnych powodów dla których ludzie piszą na przykład na tym forum czy na stacku. Zgodnie z twoją logiką nie powinni tego robić, bo przecież tylko tworzą sobie konkurencje na rynku pracy! Ale prawda jest taka ze programiści lubią się chwalić ;)

1

Publikują bo nie widzą sensownego modelu biznesowego dla swojego oprogramowania a szkoda im żeby ich utwory nie były używane.
Albo piszą i publikują jakieś małe użyteczne pierdółki jak ja, wyrównując tym samym saldo na linii "daję i biorę".

Oprogramowania typu "uczę się i zobaczcie jak mi idzie" staram się nie publikować, chociaż zdarza się.

2

I rozumiem, że w swoich projektach używasz tylko płatnych bibliotek i nic FLOSS tam nie ma. Jak np. Java, Docker, Linux, Android, etc.?

0

Jednak zastanawia mnie w jakim celu tworzy się tam osobiste konta i umieszcza jakieś swoje własne kody. Jaki jest sens upubliczniać swoją ciężką pracę? Ktoś to
przecież skopiuje, udoskonali według własnych upodobań, wyskoczy z tym na rynek i jeszcze będzie trzepał za to kasę. No nie wiem, przynajmniej ja to sobie tak
wyobrażam.

Mało projektów nadaje się do bezpośredniej sprzedaży (np. jak można by sprzedać bibliotekę narzędziową do formatowania dat? Nikt by tego nie kupił). Dopiero łączone narzędzia open source stworzą produkt, który będzie się nadawał do bezpośredniej sprzedaży.

Chociaż nie zawsze tak jest, na GitHubie wala się też pełno projektów, które równie dobrze mogłyby być produktami komercyjnymi... (i niektóre są - np. działają na różnych licencjach. Albo firma zarabia na czymś innym niż sam kod...)

0

Pytanie przy okazji. Czemu GIT, a nie SVN do takich zastosowań?

2

@Juhas bo niektóre projekty dostają pull requesty od randomowych ludzi. Zrobienie czegoś takiego w svnie po prostu nie byłoby możliwe. Zresztą równie dobrze można pytać czemu ludzie jeżdżą samochodami a nie konnymi powozami.

0

Ja bym zadał inne pytanie. Czemu ludzie jeżdżą Ferrari po zakorkowanym mieście, jak mogą Citroenem ;)

2

@Juhas: czy Ty właśnie stwierdziłeś, że warto sobie uciąć nogi, jak i tak większość czasu spędzasz w biurze na krześle? SVN to bardzo słabe rozwiązanie:

  • nie ma możliwości pracy offline
  • tworzenie gałęzi i merge to straszne PITA
  • konfiguracja oraz zarządzanie remote repo to też PITA
  • centalizacja repozytorium, powoduje, że review jest trudny i czasochłonny (zwłaszcza w połączeniu z problemami z gałęziami)

Proszę nie. A jak już całkowicie chcesz się ograniczać, to na GitHubie masz możliwość dostępu do repo przez SVNa, tylko po co?

1

Prawdziwi twardziele używają SVN, chodzą w czerwonych slipkach i hakują emacsem przez sendmail:

0

Prawdziwi hakierzy używają RCS. SVN to dla lajkowców.

1

prawdziwi hakerzy używają motyli (xkcd 378)

0

@hauleth: A jeśli firma* pracuje nad swoją aplikacją, to potrzebuje rozproszonego systemu? A jeśli robisz własne portfolio, to potrzebujesz rozproszonego systemu?

*zakładamy, że to standardowa firma, która siedzi w jednym budynku i pracownicy są na miejscu (okazjonalnie zdalnie)

2

@Juhas:

Firma:

Tak, bo każdy pracuje nad funkcjonalnością na nowym branchu (IMHO najlepiej to jeszcze w osobnym forku) i jak skończy to wystawia PR/MR do origin gdzie ktoś robi review i następnie albo akceptuje albo nie. Przy SVNie nawet nie wiem jak by miało takie akceptowanie wyglądać.

Osobiście:

Tak, bo:

  • uczysz się systemu, z którym będziesz pracował
  • masz możliwość pracy offline, czyt. na wakacjach, w podróży, jak wyłączą prąd
  • jak udostępniasz projekt gdzieś, to nigdy nie wiesz, czy nie znajdzie się ktoś, kogo on zainteresuje i nie zechce z niego korzystać i pomóc Ci go rozwijać
  • nie potrzebujesz serwera by móc pracować nad projektem i od samego początku śledzić zmiany

1 użytkowników online, w tym zalogowanych: 0, gości: 1