Temat: Open Source w C#

Dla tych, którzy dystrybuują kod interpretowany w programach GPLowych:

If a programming language interpreter is released under the GPL, does that mean programs written to be interpreted by it must be under GPL-compatible licenses?

When the interpreter just interprets a language, the answer is no. The interpreted program, to the interpreter, is just data; a free software license like the GPL, based on copyright law, cannot limit what data you use the interpreter on. You can run it on any data (interpreted program), any way you like, and there are no requirements about licensing that data to anyone.

However, when the interpreter is extended to provide “bindings” to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings. So if these facilities are released under the GPL, the interpreted program that uses them must be released in a GPL-compatible way. The JNI or Java Native Interface is an example of such a binding mechanism; libraries that are accessed in this way are linked dynamically with the Java programs that call them. These libraries are also linked with the interpreter. If the interpreter is linked statically with these libraries, or if it is designed to link dynamically with these specific libraries, then it too needs to be released in a GPL-compatible way.

Another similar and very common case is to provide libraries with the interpreter which are themselves interpreted. For instance, Perl comes with many Perl modules, and a Java implementation comes with many Java classes. These libraries and the programs that call them are always dynamically linked together.

A consequence is that if you choose to use GPL'd Perl modules or Java classes in your program, you must release the program in a GPL-compatible way, regardless of the license used in the Perl or Java interpreter that the combined Perl or Java program will run on.


---------------

I historia z życia wzięta (także mojego). Umowy serwisowe i "prekonfiguracja środowiska".

Sure it's free! (Heh, heh.), posted 22 Sep 2004 at 00:58 UTC by MartySchrader »

The way I like to approach this is as follows:

- Client sez, Gee, this here software is free for the download, ain't it?
- Yeah, I sez.
- Well, how come I gotta pay all this moolah to git it installed and configured? client sez.
- Sez I, Well, okay. Here's the RPM file set. Go right on ahead and expand that archive. Then you can install that puppy yer own bad sef. Once you git it all configured and working you let me know and I'll come on out to do the hard part, eh?


This usually puts any objection to charging for installation and configuration to rest. The whole Open Source community is built on this very scenario. If you have the manpower to do it yourself then go right on and do it. If you can't do it yourself then expect to pay me to do it for you.
Adrian Olszewski edytował(a) ten post dnia 18.08.11 o godzinie 00:44

konto usunięte

Temat: Open Source w C#

Adrian Olszewski:
Dla tych, którzy dystrybuują kod interpretowany w programach GPLowych:[...]A consequence is that if you choose to use GPL'd Perl
modules or Java classes in your program, you must release the program in a GPL-compatible way, regardless of the license used in the Perl or Java interpreter that the combined Perl or Java program will run on.[/i]

---------------

I historia z życia wzięta (także mojego). Umowy serwisowe i "prekonfiguracja środowiska". [...]

tak; GPL - daje Ci to za darmo pod warunkiem, że nikt za to nie zapłaci. Nowy rodzaj promocji ?Jakub Wojt edytował(a) ten post dnia 18.08.11 o godzinie 01:45

Temat: Open Source w C#

Przy okazji tematu: Long live the web services loophole

@Jakub
Co masz na myśli, bo pora późna i nie bardzo rozumiem :)
GPL nigdy nie zabraniało sprzedawać softu komercyjnie pod warunkiem, że udostępniałeś do niego źródła. Jeśli znalazł się ktoś, kto chciał zapłacić - nie było przeszkód. Pojawiało się jednak pytanie - "po co płacić, skoro to jest za darmo". GPL nie zabraniał oferowania płatnych usług serwisowych.

W efekcie jedni poświęcali czas na naukę m.in. kompilacji produktu i budowanie swoich rozwiązań ze źródeł by zaoszczędzić pieniądze, a inni poświęcali pieniądze na produkt-ze-wsparciem-technicznym, by zaoszczędzić czas. Mnie się udało zarobić na instalacji MONO na Debianie u klienta. W repo była zbyt stara wersja jak do naszych potrzeb (2.6 przy potrzebnej 2.10), a informatyk klienta miał na głowie sporo innych rzeczy w firmie, niż śledzenie zależności (mieszania apt-geta z c/m/mi było sporo) i poprawianie makefile'a przy błędach kompilacji gnome-sharp-2.24.1. Woleli więc zapłacić i mieć problem z głowy.

Sprawdza się to zwłaszcza w przypadku specjalistycznych i dedykowanych rozwiązań, gdzie sam produkt to jeszcze za mało, trzeba go odpowiednio "przykroić" do potrzeb - konfiguracją i pisaniem skryptów wsadowych. Wtedy można nawet udostępnić źródła. Dopóki rozwiązanie będzie oparte o GPL, inni będą mogli zarabiać tylko na tym samym, co my. Chyba, że podejrzą u nas jakąś ważną ideę, przepiszą GPLowe narzędzie po swojemu i zarobią na naszej pracy koncepcyjnej i zabiorą nam klientów. Ryzyko :)

------------------

Historia od człowieka z Sybase (+komentarze):
http://iablog.sybase.com/kleisath/index.php/2009/02/ho...

------------------

Dalsze: GPL a WebService:
http://jamesclarke.net/notes/gpl

Wnioski:
1. uważaj na wersję licencji GPL.
2. nie dystrybuujesz swojej aplikacji, nie masz problemu

Wniosek 2 płynący z GPL wskazuje na to, że ktoś nie chciał być zbyt restrykcyjny. Gdyby chciał być, zamieniłby "dystrybucję aplikacji" na "dystrybucję funkcjonalności aplikacji widzianej z punktu użytkownika" i po "problemie".Adrian Olszewski edytował(a) ten post dnia 20.08.11 o godzinie 11:59

konto usunięte

Temat: Open Source w C#

Adrian Olszewski:

Wnioski:
1. uważaj na wersję licencji GPL.
2. nie dystrybuujesz swojej aplikacji, nie masz problemu

Wniosek 2 płynący z GPL wskazuje na to, że ktoś nie chciał być zbyt restrykcyjny. Gdyby chciał być, zamieniłby "dystrybucję aplikacji" na "dystrybucję funkcjonalności aplikacji widzianej z punktu użytkownika" i po "problemie".

Gdy pisano GPL raczej sobie nie zdawana sprawy z rozwoju chmury, aplikacji internetowych etc. Aktualnie można korzystać z Affero GPL która działa w takich właśnie przypadkach.

Temat: Open Source w C#

Kolejna, rozbudowana biblioteka wykresów. Oprócz NPlot, ZedGraph, MS Charting i kilku innych mamy teraz dodatkowo OxyPlot


Obrazek


Dokumentacja.

Features:
* Cartesian and polar coordinate systems
* Series
-- LineSeries
-- TwoColorLineSeries
-- ScatterSeries
-- AreaSeries
-- ContourSeries
-- BoxPlotSeries (submitted by benjaminrupp)
-- StemSeries
-- StairStepSeries
-- HighLowSeries
-- CandleStickSeries
-- BarSeries
-- ColumnSeries
-- ErrorColumnSeries
-- IntervalBarSeries
-- RectangleBarSeries
-- TornadoBarSeries
-- PieSeries
* Axis types
-- Linear
-- Logarithmic
-- DateTime (under development)
-- TimeSpan (under development)
-- Category
*Annotations
-- Lines
-- Arrows
-- Rectangles
-- Polygons
-- Text
* Controls
-- WPF (supports XAML databinding)
-- Silverlight
-- Windows Forms
-- Metro (alpha)
* Output
-- SVG
-- PDF (depends on PDFsharp / SilverPdf)
-- PNG
-- XPS
-- XAML
* Easy to add support for other output devices (just implement simple methods like DrawPolyline, DrawPolygon, DrawEllipse and DrawText)
* Easy to extend with custom Series or Axis types
* High performance (supports large datasets, only draws data that is visible)
* 'Scientific' style (as plots from Mathematica/Matlab)
* Mathematical notation of exponents (superscript and subscript, but this currently only works for horizontal text)
* Spline interpolation
* Pan/zoom (use middle and right mouse button or the mouse wheel, double-click to reset)
"Tracker" function - showing values when you push down the left mouse button on a curve
* A simple report generator is included (output to pdf, rtf, html5, docx and LaTeX)Adrian Olszewski edytował(a) ten post dnia 02.01.13 o godzinie 10:08
Tomasz M.

Tomasz M. never go full
retard!

Temat: Open Source w C#

Adrian Olszewski:
Kolejna, rozbudowana biblioteka wykresów. Oprócz NPlot, ZedGraph, MS Charting i kilku innych mamy teraz dodatkowo

Super! Czegoś takiego szukałem, bo MS Chart mi przestał wystarczać. BTW. czy te wykresy mają jakąś "dynamikę",w sensie czy mogę oprogramować sobie je w jakiś sposób interaktywnie - potrzebuję candle sticksów do analiz forexowo-giełdowych, ale chciałbym by wykres w jakiś sposób żył - odświeżał się, pokazywał tipy itp. Czy po prostu generuje sobie bitmapę?

Temat: Open Source w C#

Mają dużo dynamiki w zakresie interakcji z użytkownikiem: zaznaczanie (w przykładze całka oznaczona na zaznaczonym przedziale), odczytywanie wartości wskazanego punktu, dodawanie punktów/serii, przesuwanie punktów, zoom i inne. Najlepiej pobierz sobie demko i przetestuj możliwości, będzie dużo frajdy :)

Poniżej przegląd możliwości - wykresy w kolejności wystepowania na liście; pod koniec 3 przykłady interakcji.
/ skrypt galerii GL skaluje obrazy, więc lepiej wkleić adres obrazka w przeglądrce /

Obrazek
Adrian Olszewski edytował(a) ten post dnia 02.01.13 o godzinie 12:09
Sławomir Orłowski

Sławomir Orłowski PhD, physicist,
software
developer/architect
team leader...

Temat: Open Source w C#

Adrian Olszewski:
Mają dużo dynamiki w zakresie interakcji z użytkownikiem: zaznaczanie (w przykładze całka oznaczona na zaznaczonym przedziale), odczytywanie wartości wskazanego punktu, dodawanie punktów/serii, przesuwanie punktów, zoom i inne. Najlepiej pobierz sobie demko i przetestuj możliwości, będzie dużo frajdy :)
Jak Ty to wszystko znajdujesz :) Od lutego w realizowanym projekcie miałem się męczyć z MS Chart'em do wyświetlania wykresów + interakcja z użytkownikiem. Będąc umiarkowanym optymistą i patrząc wstępnie na możliwości OxyPlot'a muszę powiedzieć, że zaoszczędzę trochę czasu i pieniędzy.

Temat: Open Source w C#

Bo "mam tak samo jak Ty" :P Tzn. aplikacje "naukowe" - systemy analityczne dla badań naukowych (badania kliniczne i ogólnie medyczne). A to oznacza wykresy, biblioteki matematyczne, komponenty do GUI - i to najlepiej wieloplatformowe... A to z kolei oznacza godziny szukania, kopania, grzebania, testowania...

Swoją drogą nie testowałem pod Mono, ale wstępnie wrzuciłem w MoMA i w OxyPlot.dll jest... 7 P/Invokes z gdi32.dll <ściana>
Sławomir Orłowski

Sławomir Orłowski PhD, physicist,
software
developer/architect
team leader...

Temat: Open Source w C#

Adrian Olszewski:
Swoją drogą nie testowałem pod Mono, ale wstępnie wrzuciłem w MoMA i w OxyPlot.dll jest... 7 P/Invokes z gdi32.dll <ściana>
Tak to już jest z .NET. Można zrobić prawie wszystko, czyli czasem trzeba skorzystać w WinAPI. Ja traktuję .NET trochę (nie obrażając nikogo) jak "niedorozwinięty" framework. Jest fajnie, bo dużo kontrolek do GUI. Jest fajnie, bo łatwy dostęp do baz danych. Miłe języki i BCL. Jednak w każdym projekcie musiałem skorzystać z P/Invoke i WinAPI. Dla mnie jest to nieodzowna część platformy .NET, bez której nie byłbym w stanie pracować. W związku z tym przenośność kodu jest ... dyskusyjna. Zarządzanie pamięcią mógłbym sobie darować - no ale mam, tak jak w samochodach są czujniki zmierzchu. Oczywiście można powiedzieć, że "niech sobie napiszą sami te funkcje z których korzystają w WinAPI", no ale często sprowadzałoby się to do napisania dużej części systemu operacyjnego.

Temat: Open Source w C#

A tymczasem w wielu przypadkach wystarczyłaby kompilacja warunkowa i korzystanie z natywnych rozwiązań nie byłoby wówczas problemem. Ale to wtedy trzeba założyć przenośność by design, a nie z automatu walić windowsowe dllimporty...

Przykład takiego kodu to dotnetowy konektor do GNU R - natywne funkcje wydzielone do osobnej DLLki i tam, warunkowo, "dllimportowane" odpowiednie biblioteki: http://rdotnet.codeplex.com/SourceControl/changeset/vi...
Sławomir Orłowski

Sławomir Orłowski PhD, physicist,
software
developer/architect
team leader...

Temat: Open Source w C#

Adrian Olszewski:
A tymczasem w wielu przypadkach wystarczyłaby kompilacja warunkowa i korzystanie z natywnych rozwiązań nie byłoby wówczas problemem. Ale to wtedy trzeba założyć przenośność by design, a nie z automatu walić windowsowe dllimporty...

Przykład takiego kodu to dotnetowy konektor do GNU R - natywne funkcje wydzielone do osobnej DLLki i tam, warunkowo, "dllimportowane" odpowiednie biblioteki: http://rdotnet.codeplex.com/SourceControl/changeset/vi...
Dobre rozwiązanie. Tylko ja tam w ogóle na Linuxach/Unixsach się nie orientuję.

Temat: Open Source w C#

W skrajnym przypadku można dany, nieprzenośny-windowsowy, komponent wpakować w serwis wystawiający jego interfejs po ws/remoting/wcf i uruchamiać go pod Windows, zaś na docelowej nie-windowsowej maszynie odbierać jedynie produkt (bitmapę, tablicę wartości) :)Adrian Olszewski edytował(a) ten post dnia 03.01.13 o godzinie 16:12
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Open Source w C#

Adrian Olszewski:
W skrajnym przypadku można dany, nieprzenośny-windowsowy, komponent wpakować w serwis wystawiający jego interfejs po ws/remoting/wcf i uruchamiać go pod Windows, zaś na docelowej nie-windowsowej maszynie odbierać jedynie produkt (bitmapę, tablicę wartości) :)

Tak jak to robi Google Chart :)

Temat: Open Source w C#

I jak można wykorzystać JasperReports pod .NET :P

Temat: Open Source w C#

Trochę informacji o GPL zebranych do kupy na potrzeby "wewnątrzyfirmowych pogawędek" :)
http://pl.scribd.com/doc/127528951/gpl-pdf

plus końcówka tego wątku (grupa pośw. językowi "R").Adrian Olszewski edytował(a) ten post dnia 15.03.13 o godzinie 11:05



Wyślij zaproszenie do