komabra Napisano Sierpień 6, 2015 Udostępnij Napisano Sierpień 6, 2015 Panowie , Panie. Mam do was pytanie dość dziwne. Można powiedzieć, że etyczne 😋 Gdy robicie swój własny projekt to jak zapatrujecie się na użwanie gotowych bibliotek? Aktualnie robię stację pogody i używam bibliotek do wyświetlacza LCD, czujnika temperatury itd. Jednak mój mózg cały czas chce mi powiedzieć, że jest to lekkie oszustwo, że projekt jest nie do końca mój. Jak wy to widzicie? Pytanie z tych głupich ale męczy mnie to 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
pawel Sierpień 6, 2015 Udostępnij Sierpień 6, 2015 Jeśli ktoś już napisał takie biblioteki to głupotą było by nie korzystać, bo po co pisać wszystko od podstaw. Tak dla przykładu, kiedy używany bascoma albo arduino, to korzystamy cały czas z gotowych bibliotek. Więc jeżeli autor takiej biblioteki nie ma zastrzeżeń do jej użytkowania, to nie ma żadnego problemu. A projekt jest twój, bo całą logikę urządzenia, to tworzysz ty, a biblioteki pomagają tylko przy kontakcie ze sprzętem. Cytuj Link do komentarza Share on other sites More sharing options...
komabra Sierpień 6, 2015 Autor tematu Udostępnij Sierpień 6, 2015 Ok, zastanawiało mnie właśnie czy inni też tak robią. Teraz dopiero odkryłem jak korzystanie z bibliotek pomaga w programowaniu. Dzięki ! Cytuj Link do komentarza Share on other sites More sharing options...
MirekCz Sierpień 6, 2015 Udostępnij Sierpień 6, 2015 Wszystko zależy od celu. Nie lubię bibliotek, które są zbyt tajemnicze (słaby opis, pomijanie wielu szczegółów implementacji itp.). Potem okazuje się, że nie do końca działają tak jak tego chcemy i dodają pracy zamiast jej odejmować. Natomiast w życiu codziennym nie jesteś wstanie napisać bibliotek do wszystkiego i nie o to chodzi. Jest wiele darmowych bibliotek, lub całkiem tanich ( albo jak robisz poważne projekty to nawet całkiem drogich) i trudno się bez nich obejść. Nikt nie będzie pisaniem od zera zastępował sprawdzonej, działającej biblioteki marnując 100tyś E z ryzykiem, że coś pójdzie nie tak, jak można od ręki za 10tyś E kupić gotowy kombajn ze szkoleniem i pomocą włącznie... sztuka to umieć się szybko takiej biblioteki nauczyć żeby ją efektywnie wykorzystywać. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Bobby Sierpień 6, 2015 Udostępnij Sierpień 6, 2015 Wszystko zależy tak naprawdę od licencji, na jakiej udostępniane są biblioteki. Generalnie GPL, to rodzaj licencji totalnie wolnej - General Public License: Celem licencji GNU GPL jest przekazanie użytkownikom czterech podstawowych wolności[2]: wolność uruchamiania programu w dowolnym celu (wolność 0) wolność analizowania, jak program działa i dostosowywania go do swoich potrzeb (wolność 1) wolność rozpowszechniania niezmodyfikowanej kopii programu (wolność 2) wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność (wolność 3). Tylko jeżeli program spełnia wszystkie cztery wolności jednocześnie, wówczas, według FSF, może być uznany za Wolne Oprogramowanie. Wystarczy, że nie spełnia dowolnej z nich, a nie może być tak kategoryzowany (jest oprogramowaniem zamkniętym). Na takiej licencji udostępniane jest np. stdlib. Najczęściej w pliku nagłówkowym, w komentarzu napisane jest na jakiej licencji udostępniany jest kod. Tutaj nagłówek wspomnianego stdlib (stdlib.h) jako przykład: 00001 // TR1 stdlib.h -*- C++ -*-00002 00003 // Copyright © 2006 Free Software Foundation, Inc. 00004 // 00005 // This file is part of the GNU ISO C++ Library. This library is free 00006 // software; you can redistribute it and/or modify it under the 00007 // terms of the GNU General Public License as published by the 00008 // Free Software Foundation; either version 2, or (at your option) 00009 // any later version. 00010 00011 // This library is distributed in the hope that it will be useful,00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 00016 // You should have received a copy of the GNU General Public License along 00017 // with this library; see the file COPYING. If not, write to the Free 00018 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,00019 // USA. 00020 00021 // As a special exception, you may use this file as part of a free software 00022 // library without restriction. Specifically, if other files instantiate 00023 // templates or use macros or inline functions from this file, or you compile 00024 // this file and link it with other files to produce an executable, this 00025 // file does not by itself cause the resulting executable to be covered by 00026 // the GNU General Public License. This exception does not however 00027 // invalidate any other reasons why the executable file might be covered by 00028 // the GNU General Public License. 00029 00030 /** @file tr1/stdlib.h 00031 * This is a TR1 C++ Library header. 00032 */ 00033 00034 #ifndef _TR1_STDLIB_H 00035 #define _TR1_STDLIB_H 1 00036 00037 #include 00038 00039 #if _GLIBCXX_HOSTED 00040 00041 #if _GLIBCXX_USE_C99 00042 00043 using std::tr1::atoll; 00044 using std::tr1::strtoll; 00045 using std::tr1::strtoull; 00046 00047 using std::tr1::abs; 00048 #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC 00049 using std::tr1::div; 00050 #endif 00051 00052 #endif 00053 00054 #endif 00055 00056 #endif Ale to tylko jedna, a jest cała masa innych, np. CC , MIT i inne. To z tych wolnych (wolnych jak w wolności), a są jeszcze płatne, o których wspomniał Mirek. Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Sierpień 9, 2015 Udostępnij Sierpień 9, 2015 komabra, należy korzystać z bibliotek - przynajmniej, gdy mamy jakiekolwiek pojęcie o tym, jak one mogą działać. Gdyby nie przyjazne biblioteki i środowisko, to takie Arduino nie byłoby popularne 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
komabra Sierpień 10, 2015 Autor tematu Udostępnij Sierpień 10, 2015 No to teraz pytanie inne ale podobne 🙂 Pytałem też dlatego, że stacja pogody będzie moją pracą inżynierską. Co w takim wypadku? Rozumiem, że mogę korzystać tylko z bibliotek GNU ? Cytuj Link do komentarza Share on other sites More sharing options...
pawel Sierpień 10, 2015 Udostępnij Sierpień 10, 2015 Warto się zapoznać z typem licencji na jakiej jest udostępniana biblioteka, ponieważ twórca mógł użyć innej, ale też zezwalającej na stosowanie w projektach. Przeważnie licencja jest opisana w plikach danej biblioteki. Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Sierpień 10, 2015 Udostępnij Sierpień 10, 2015 Na ogół w pracy inżynierskiej można korzystać z bibliotek. Jeśli masz wątpliwości, zapytaj promotora, ale wątpię żeby ktoś robił z tego problemy. W przypadku pracy inżynierskiej wykorzystanie bibliotek to nie problem, nawet jeśli będzie to licencja GNU (oznaczająca, że Twój program też będziesz musiał objąć tą licencją). Oczywiście jeśli wykorzystujesz biblioteki, powinieneś przestrzegać licencji. Wiec w przypadku komercyjnych bibliotek Ty lub uczelnia powinniście mieć odpowiednie prawa. Jeśli wykorzystasz biblioteki objęte licencją GNU GPL, kod Twojego programu też powinien być udostępniony na licencji GNU GPL. Wiele bibliotek jest objętych podobną, ale bardziej liberalną wersją LGPL - wtedy nie musisz publikować kodu, chociaż jest kilka niuansów które licencja wymusza (dołączenie treści licencji, dynamiczne biblioteki lub możliwość linkowania nowszych wersji). Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!