powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Под какой лицензией firebird.pas?
25 сообщений из 57, страница 1 из 3
Под какой лицензией firebird.pas?
    #39624623
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу его пропатчить (его нужно пропатчить, т.к. там много всего) и выложить на GitHub. Какую лицензию указывать?
Если IDPL, то получается все кто заиспользуют пропатченную версию будут вынуждены следовать лицензии и публиковать код firebird.pas. Можно ли как-нибудь без этого? Может есть возможность сделать для генерируемых API свободную лицензию (public domain)? Или всё что идёт с Firebird обязано быть под IDPL?
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624638
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hommer,

он генерируется, посему его не надо патчить.
Патчить надо генератор - extern\cloop
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624669
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hommerто получается все кто заиспользуют пропатченную версию будут вынуждены следовать лицензии и публиковать код firebird.pas.
прочитай еще раз лицензию, внимательно.
Публиковать изменения должен тот, кто эти изменения производит. При этом, если измененный exe выложен публично.
Тот, кто пользуется, ничего никуда выкладывать не должен. Иначе сейчас все, кто пользуются ФБ, должны были бы опубликовать эти исходники. Что являлось бы полным маразмом.
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624680
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

Хочу табы заменить на пробелы.
Хочу в записях убрать лишние пробелы между именами полей и двоеточием.
Хочу в записях сделать правильное выравнивание.
Хочу Record заменить на record, destroy на Destroy. И вообще сделать как принято в паскале.
Хочу заменить NativeInt для Delphi 2007 и ниже (он там поломан).
Хочу кое где заменить NativeIntPtr на Pointer, т.к. там именно Pointer нужен.
Хочу все декларации типов и констант поместить в супертип, чтобы наружу не торчала сотня-другая типов и констант (у меня есть свой ITransaction, не хочу чтобы он путался с Firebird.ITransaction (и вообще префикс I для интерфейсов). Так же типы вроде BooleanPtr, TraceCounts, Dsc не должны с такими именами торчать наружу).
Хочу загружать клиента динамически. Мне не подходит вот это:
Код: pascal
1.
function fb_get_master_interface : IMaster; cdecl; external 'fbclient';


Хочу выложить это и сообщить разработчику cloop. Он возьмёт себе что посчитает нужным. Вопрос под какой лицензией выложить.

Где кстати можно взять firebird.pas для 4 версии? В дистрибутиве альфы его нет, на GitHub тоже нет.
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624689
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvПубликовать изменения должен тот, кто эти изменения производит.
Т.е. если я внесу в firebird.pas изменения, дам его вам, вы его заиспользуете в своих коммерческих проектах, то после этого вы не будете должны выложить этот firebird.pas у себя на сайте? Или будете должны?
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624692
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hommer,

а не проще ли выложить патч для cloop?
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624695
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HommerХочу выложить это и сообщить разработчику cloop. Он возьмёт себе что посчитает нужным.
Вопрос под какой лицензией выложить.

Просто клонируй репозиторий Firebird и не парься с лицензиями.

PS: На pull request можешь не тратить время.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624728
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Дениса не проще ли выложить патч для cloop?
Возможно. А возможно будет проще мне потратить 20 минут на то чтобы пропатчить и выложить firebird.pas и 20 минут потратить разработчику cloop чтобы применить изменения, чем мне потратить несколько часов (C++ мне не родной).
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624733
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hommerвы его заиспользуете в своих коммерческих проектах, то после этого вы не будете должны выложить этот firebird.pas у себя на сайте? Или будете должны?
конечно нет. Я или кто-то еще делал изменения - какая разница? Я же не публикую результат компиляции, и никому его не даю.

Господи, ну прочитайте же пункт 3.2
3.2. Availability of Source Code. Any Modification which You create or to
which You contribute must be made available in Source Code form under the
terms of this License either on the same media as an Executable version or via
an accepted Electronic Distribution Mechanism to anyone to whom you made
an Executable version available


Беру ваш исходник (или свой исходник), и использую сам. Я, конечно, могу сам себе отправить этот исходник, но это уже будет граничить с шизофренией :-)
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624753
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvЯ же не публикую результат компиляции, и никому его не даю.
А если даёте и даже продаёте: Hommer Т.е. если я внесу в firebird.pas изменения, дам его вам, вы его заиспользуете в своих коммерческих проектах, то после этого вы не будете должны выложить этот firebird.pas у себя на сайте? Или будете должны??
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624755
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HommerХочу табы заменить на пробелы.
Хочу в записях убрать лишние пробелы между именами полей и двоеточием.
Хочу в записях сделать правильное выравнивание.
Хочу Record заменить на record, destroy на Destroy. И вообще сделать как принято в паскале.

это всё легко решается в патчем cloop и особых мегазнаний для этого не нужно.

HommerХочу все декларации типов и констант поместить в супертип, чтобы наружу не торчала сотня-другая типов и констант (у меня есть свой ITransaction, не хочу чтобы он путался с Firebird.ITransaction (и вообще префикс I для интерфейсов). Так же типы вроде

то что у тебя есть свой ITransaction никого не волнует. При желании ты можешь их отличать по полному имени.

HommerХочу загружать клиента динамически. Мне не подходит вот это:

ты хочешь так, а другие хотят другого. Почему все должны ориентироваться на то что ты хочешь? В конце концов заменить одну строчку у себя в проекте ты всегда можешь. Другие тоже могут, если захотят.

HommerГде кстати можно взять firebird.pas для 4 версии? В дистрибутиве альфы его нет, на GitHub тоже нет.

сгенерируй его сам. Как минимум до выхода beta API будет меняться, поэтому пока выкладывать этот файл нет смысла.
Я как то разбирался с клопом для генерации Firebird.pas для трёшки, он хоть и плохо документирован, но по исходникам вроде всё понятно (формат командной строки), там ничего сложного нет.
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624773
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HommerСимонов Дениса не проще ли выложить патч для cloop?
Возможно. А возможно будет проще мне потратить 20 минут на то чтобы пропатчить и выложить firebird.pas и 20 минут потратить разработчику cloop чтобы применить изменения, чем мне потратить несколько часов (C++ мне не родной).Для того, чтобы кто-то менял cloop по твоим хотелкам, его нужно сильно в этом заинтересовать.
И вообще сначала убедить, что ты хочешь чего-то хорошего и нужного.
Я сильно сомневаюсь, что кто-либо захочет смотреть что ты там наменял в firebird.pas и потом искать способы реализовать это в cloop.
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624790
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисто что у тебя есть свой ITransaction никого не волнует. При желании ты можешь их отличать по полному имени.
Мне пользоваться, поэтому меня волнует.

Симонов Денисты хочешь так, а другие хотят другого. Почему все должны ориентироваться на то что ты хочешь? В конце концов заменить одну строчку у себя в проекте ты всегда можешь. Другие тоже могут, если захотят.Я хочу у себя в GitHub выложить пропатченный firebird.pas. Есть возражения? :) Потом можно подумать про cloop.
Вопрос какую лицензию указать и почему именно такую.

Симонов ДенисHommerГде кстати можно взять firebird.pas для 4 версии? В дистрибутиве альфы его нет, на GitHub тоже нет.
сгенерируй его сам.
Он должен быть в снапшотах, а его нет. Правильно ли будет использовать firebird.pas от тройки?
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624808
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HommerМне пользоваться, поэтому меня волнует.
ну так и делай под себя зачем другим навязывать свои хотелки.
З.Ы. По первым 4 пунктам ничего против не имею, но патчить надо клопа

HommerОн должен быть в снапшотах, а его нет. Правильно ли будет использовать firebird.pas от тройки?

Когда собираются снапшоты дополнительные генерации не запускаются.
Скачай https://github.com/FirebirdSQL/firebird/tree/master/extern/cloop и скомпилируй клопа. Потом сгенерируй новый firebird.pas

В 4.0 API был существенно расширен. Не знаю подойдёт ли к нему старый firebird.pas, но даже если подойдёт, то он будет как минимум не полный.
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624810
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladHommerпропущено...

Возможно. А возможно будет проще мне потратить 20 минут на то чтобы пропатчить и выложить firebird.pas и 20 минут потратить разработчику cloop чтобы применить изменения, чем мне потратить несколько часов (C++ мне не родной).Для того, чтобы кто-то менял cloop по твоим хотелкам, его нужно сильно в этом заинтересовать.
И вообще сначала убедить, что ты хочешь чего-то хорошего и нужного.
И как же быть?
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624814
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hommer,

и ещё. В новых дельфях есть форматирование кода, которое настраивается. Почему бы не настроить форматирование под себя, не взять firebird.pas и запустить это форматирование. Как минимум 4 первые проблемы ты решишь.
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624844
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HommerhvladДля того, чтобы кто-то менял cloop по твоим хотелкам, его нужно сильно в этом заинтересовать.
И вообще сначала убедить, что ты хочешь чего-то хорошего и нужного.
И как же быть?Лучше всего - патчить cloop.
Если нет сил\желания - создать список "чего не так" в нынешнем генераторе и предложить его разработчикам.
Можно даже в трекере.
Быть готовым защищать свою точку зрения и убеждать остальных.

PS Мне тоже не нравится текущий firebird.pas, так что шансы у тебя есть :)
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624891
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HommerА если даёте и даже продаёте:
я не понимаю, в чем проблема прочитать этот треклятый пункт 3.2?
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624900
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Дениси ещё. В новых дельфях есть форматирование кода, которое настраивается. Почему бы не настроить форматирование под себя, не взять firebird.pas и запустить это форматирование. Как минимум 4 первые проблемы ты решишь.
А почему бы не иметь правильно отформатированный код firebird.pas в дистрибутиве Firebird?
Как минимум те кто использует firebird.pas не задавались бы вопросом "ftw with code?".

Кстати вот код из fpc (\source\rtl\linux\system.pp):
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
{
    This file is part of the Free Pascal run time library.
    Copyright (c) 2000 by Marco van de Voort
    member of the Free Pascal development team.

    System unit for Linux.

    See the file COPYING.FPC, included in this distribution,
    for details about the copyright.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 **********************************************************************}

{ These things are set in the makefile, }
{ But you can override them here.}
{ If you use an aout system, set the conditional AOUT}
{ $Define AOUT}

Unit System;

{*****************************************************************************}
                                    interface
{*****************************************************************************}

{$define FPC_IS_SYSTEM}
{$define HAS_CMDLINE}
{$define USE_NOTHREADMANAGER}

{$i osdefs.inc}

{$I sysunixh.inc}

function get_cmdline:Pchar; 
property cmdline:Pchar read get_cmdline;

{$if defined(CPUARM) or defined(CPUM68K) or (defined(CPUSPARC) and defined(VER2_6))}

{$define fpc_softfpu_interface}
{$i softfpu.pp}
{$undef fpc_softfpu_interface}

{$endif defined(CPUARM) or defined(CPUM68K) or (defined(CPUSPARC) and defined(VER2_6))}

{*****************************************************************************}
                                 implementation
{*****************************************************************************}

{$if defined(CPUI386) and not defined(FPC_USE_LIBC)}
var
  sysenter_supported: LongInt = 0;
{$endif}

const calculated_cmdline:Pchar=nil;

{$if defined(CPUARM) or defined(CPUM68K) or (defined(CPUSPARC) and defined(VER2_6))}

{$define fpc_softfpu_implementation}
{$i softfpu.pp}
{$undef fpc_softfpu_implementation}

{ we get these functions and types from the softfpu code }
{$define FPC_SYSTEM_HAS_float64}
{$define FPC_SYSTEM_HAS_float32}
{$define FPC_SYSTEM_HAS_flag}
{$define FPC_SYSTEM_HAS_extractFloat64Frac0}
{$define FPC_SYSTEM_HAS_extractFloat64Frac1}
{$define FPC_SYSTEM_HAS_extractFloat64Exp}
{$define FPC_SYSTEM_HAS_extractFloat64Sign}
{$define FPC_SYSTEM_HAS_ExtractFloat32Frac}
{$define FPC_SYSTEM_HAS_extractFloat32Exp}
{$define FPC_SYSTEM_HAS_extractFloat32Sign}

{$endif defined(CPUARM) or defined(CPUM68K) or (defined(CPUSPARC) and defined(VER2_6))}

{$I system.inc}

{$ifdef android}
{$I sysandroid.inc}
{$endif android}

{*****************************************************************************
                       Misc. System Dependent Functions
*****************************************************************************}

{$if defined(CPUARM) and defined(FPC_ABI_EABI)}
procedure haltproc(e:longint);cdecl;external name '_haltproc_eabi';
{$else}
procedure haltproc(e:longint);cdecl;external name '_haltproc';
{$endif}

{$ifdef FPC_USE_LIBC}
function  FpPrCtl(options : cInt; const args : ptruint) : cint; cdecl; external clib name 'prctl';
{$endif}

procedure System_exit;
begin
  haltproc(ExitCode);
End;


Function ParamCount: Longint;
Begin
  Paramcount:=argc-1
End;


{function BackPos(c:char; const s: shortstring): integer;
var
 i: integer;
Begin
  for i:=length(s) downto 0 do
    if s[i] = c then break;
  if i=0 then
    BackPos := 0
  else
    BackPos := i;
end;}


 { variable where full path and filename and executable is stored }
 { is setup by the startup of the system unit.                    }
var
 execpathstr : shortstring;

function paramstr(l: longint) : string;
 begin
   { stricly conforming POSIX applications  }
   { have the executing filename as argv[0] }
   if l=0 then
     begin
       paramstr := execpathstr;
     end
   else if (l < argc) then
     paramstr:=strpas(argv[l])
   else
     paramstr:='';
 end;

Procedure Randomize;
Begin
  randseed:=longint(Fptime(nil));
End;

{*****************************************************************************
                                    cmdline
*****************************************************************************}

procedure SetupCmdLine;
var
  bufsize,
  len,j,
  size,i : longint;
  found  : boolean;
  buf    : pchar;

  procedure AddBuf;
  begin
    reallocmem(calculated_cmdline,size+bufsize);
    move(buf^,calculated_cmdline[size],bufsize);
    inc(size,bufsize);
    bufsize:=0;
  end;

begin
  if argc<=0 then
    exit;
  GetMem(buf,ARG_MAX);
  size:=0;
  bufsize:=0;
  i:=0;
  while (i<argc) do
   begin
     len:=strlen(argv[i]);
     if len>ARG_MAX-2 then
      len:=ARG_MAX-2;
     found:=false;
     for j:=1 to len do
      if argv[i][j]=' ' then
       begin
         found:=true;
         break;
       end;
     found:=found or (len=0); // also quote if len=0, bug 19114
     if bufsize+len>=ARG_MAX-2 then
      AddBuf;
     if found then
      begin
        buf[bufsize]:='"';
        inc(bufsize);
      end;
     if len>0 then
       begin
         move(argv[i]^,buf[bufsize],len);
         inc(bufsize,len);
       end;
     if found then
      begin
        buf[bufsize]:='"';
        inc(bufsize);
      end;
     if i<argc-1 then
      buf[bufsize]:=' '
     else
      buf[bufsize]:=#0;
     inc(bufsize);
     inc(i);
   end;
  AddBuf;
  FreeMem(buf,ARG_MAX);
end;

function get_cmdline:Pchar;

begin
  if calculated_cmdline=nil then
    setupcmdline;
  get_cmdline:=calculated_cmdline;
end;

{*****************************************************************************
                         SystemUnit Initialization
*****************************************************************************}

function  reenable_signal(sig : longint) : boolean;
var
  e : TSigSet;
  i,j : byte;
  olderrno: cint;
begin
  fillchar(e,sizeof(e),#0);
  { set is 1 based PM }
  dec(sig);
  i:=sig mod (sizeof(cuLong) * 8);
  j:=sig div (sizeof(cuLong) * 8);
  e[j]:=1 shl i;
  { this routine is called from a signal handler, so must not change errno }
  olderrno:=geterrno;
  fpsigprocmask(SIG_UNBLOCK,@e,nil);
  reenable_signal:=geterrno=0;
  seterrno(olderrno);
end;

// signal handler is arch dependant due to processorexception to language
// exception translation

{$i sighnd.inc}

procedure InstallDefaultSignalHandler(signum: longint; out oldact: SigActionRec); public name '_FPC_INSTALLDEFAULTSIGHANDLER';
var
  act: SigActionRec;
begin
  { Initialize the sigaction structure }
  { all flags and information set to zero }
  FillChar(act, sizeof(SigActionRec),0);
  { initialize handler                    }
  act.sa_handler := SigActionHandler(@SignalToRunError);
  act.sa_flags:=SA_SIGINFO;
  FpSigAction(signum,@act,@oldact);
end;

var
  oldsigfpe: SigActionRec; public name '_FPC_OLDSIGFPE';
  oldsigsegv: SigActionRec; public name '_FPC_OLDSIGSEGV';
  oldsigbus: SigActionRec; public name '_FPC_OLDSIGBUS';
  oldsigill: SigActionRec; public name '_FPC_OLDSIGILL';

Procedure InstallSignals;
begin
  InstallDefaultSignalHandler(SIGFPE,oldsigfpe);
  InstallDefaultSignalHandler(SIGSEGV,oldsigsegv);
  InstallDefaultSignalHandler(SIGBUS,oldsigbus);
  InstallDefaultSignalHandler(SIGILL,oldsigill);
end;

procedure SysInitStdIO;
begin
  OpenStdIO(Input,fmInput,StdInputHandle);
  OpenStdIO(Output,fmOutput,StdOutputHandle);
  OpenStdIO(ErrOutput,fmOutput,StdErrorHandle);
  OpenStdIO(StdOut,fmOutput,StdOutputHandle);
  OpenStdIO(StdErr,fmOutput,StdErrorHandle);
end;

Procedure RestoreOldSignalHandlers;
begin
  FpSigAction(SIGFPE,@oldsigfpe,nil);
  FpSigAction(SIGSEGV,@oldsigsegv,nil);
  FpSigAction(SIGBUS,@oldsigbus,nil);
  FpSigAction(SIGILL,@oldsigill,nil);
end;


procedure SysInitExecPath;
var
  i    : longint;
begin
  execpathstr[0]:=#0;
  i:=Fpreadlink('/proc/self/exe',@execpathstr[1],high(execpathstr));
  { it must also be an absolute filename, linux 2.0 points to a memory
    location so this will skip that }
  if (i>0) and (execpathstr[1]='/') then
     execpathstr[0]:=char(i);
end;

function GetProcessID: SizeUInt;
begin
 GetProcessID := SizeUInt (fpGetPID);
end;

{$ifdef FPC_USE_LIBC}
{$ifdef HAS_UGETRLIMIT}
    { there is no ugetrlimit libc call, just map it to the getrlimit call in these cases }
function FpUGetRLimit(resource : cInt; rlim : PRLimit) : cInt; cdecl; external clib name 'getrlimit';
{$endif}
{$endif}

function CheckInitialStkLen(stklen : SizeUInt) : SizeUInt;
var
  limits : TRLimit;
  success : boolean;
begin
  success := false;
  fillchar(limits, sizeof(limits), 0);
  {$ifdef has_ugetrlimit}
  success := fpugetrlimit(RLIMIT_STACK, @limits)=0;
  {$endif}
  {$ifndef NO_SYSCALL_GETRLIMIT}
  if (not success) then
    success := fpgetrlimit(RLIMIT_STACK, @limits)=0;
  {$endif}
  if (success) and (limits.rlim_cur < stklen) then
    result := limits.rlim_cur
  else
    result := stklen;
end;

var
  initialstkptr : Pointer;external name '__stkptr';
begin
{$if defined(i386) and not defined(FPC_USE_LIBC)}
  InitSyscallIntf;
{$endif}

{$ifndef FPUNONE}
{$if defined(cpupowerpc)}
  // some PPC kernels set the exception bits FE0/FE1 in the MSR to zero,
  // disabling all FPU exceptions. Enable them again.
  fpprctl(PR_SET_FPEXC, PR_FP_EXC_PRECISE);
{$endif}
{$endif}
  IsConsole := TRUE;
  StackLength := CheckInitialStkLen(initialStkLen);
  StackBottom := initialstkptr - StackLength;
  { Set up signals handlers (may be needed by init code to test cpu features) }
  InstallSignals;
{$if defined(cpui386) or defined(cpuarm)}
  fpc_cpucodeinit;
{$endif cpui386}

  { Setup heap }
  InitHeap;
  SysInitExceptions;
  initunicodestringmanager;
  { Setup stdin, stdout and stderr }
  SysInitStdIO;
  { Arguments }
  SysInitExecPath;
  { Reset IO Error }
  InOutRes:=0;
  { threading }
  InitSystemThreads;
  { restore original signal handlers in case this is a library }
  if IsLibrary then
    RestoreOldSignalHandlers;
end.


Вызывает доверие? :)
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624931
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvHommerА если даёте и даже продаёте:
я не понимаю, в чем проблема прочитать этот треклятый пункт 3.2?
Вы же процитировали:
Код: plaintext
1.
2.
3.
4.
5.
3.2. Availability of Source Code.  Any Modification which You create or to
which You contribute must be made available in Source Code form under the
terms of this License either on the same media as an Executable version or via
an accepted Electronic Distribution Mechanism to anyone to whom you made
an Executable version available 

Любые изменения должны быть доступны в исходниках и под той же лицензией.

Например вы переписали свои коммерческие программы с использованием модифицированного firebird.pas и допустим firebird.pas под IDPL.
Если изменения в firebird.pas вносили вы, то должны ли вы предоставлять его исходник тем кто купил у вас программу?
Если изменения в firebird.pas вносил я, выложил где-то в интернете, вы скачали и использовали, то должны ли вы предоставлять его исходник тем кто купил у вас программу?
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624944
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
слава богу...

HommerЕсли изменения в firebird.pas вносили вы, то должны ли вы предоставлять его исходник тем кто купил у вас программу?
если firebird.pas под IDPL, то да. Хотя мне не очень понятно, почему он под idpl, если представляет собой просто интерфейс к новому апи fbclient.dll.
По идее, он не должен быть под idpl.

Кроме того, поскольку вы предлагаете изменения firebird.pas, которые касаются только форматирования, и никак не влияют на результат компиляции firebird.pas, то об ИЗМЕНЕНИИ КОДА по факту речь не идет.
HommerЕсли изменения в firebird.pas вносил я, выложил где-то в интернете, вы скачали и использовали, то должны ли вы предоставлять его исходник тем кто купил у вас программу?
да.

Но это только в том случае, если распространяется результат компиляции firebird.pas.
Собственно, здесь та же самая засада, что и у клиентской части mysql. Она была под gpl, и была т.н. sticky, то есть заставляла открывать и публиковать исходники приложения, который использовал клиентскую часть.
В случае firebird.pas он должен быть под лицензией, которая НЕ принуждает распространять свои исходники, если им требуется firebird.pas для компиляции.
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624950
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hommer,

firebird.pas не является частью исходного кода firebird
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624956
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvВ случае firebird.pas он должен быть под лицензией, которая НЕ принуждает распространять свои исходники, если им требуется firebird.pas для компиляции.
Если можно, то чтобы лицензия не принуждала вообще ни к чему, вроде public domain.
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624963
Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисfirebird.pas не является частью исходного кода firebird
А cryptDb.pas?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
{
 *	PROGRAM:	Object oriented API samples.
 *	MODULE:		cryptDb.pas
 *	DESCRIPTION:	Sample of how diskcrypt may be written using pascal.
 *					Does XOR 5 for all bytes in passed data.
 *
 *					Run something like this to build:
 *					fpc -Fu<path-to-Firebird.pas> -Mdelphi -fPIC cryptDb.pas
 *
 *  The contents of this file are subject to the Initial
 *  Developer's Public License Version 1.0 (the "License");
 *  you may not use this file except in compliance with the
 *  License. You may obtain a copy of the License at
 *  http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl.
 *
 *  Software distributed under the License is distributed AS IS,
 *  WITHOUT WARRANTY OF ANY KIND, either express or implied.
 *  See the License for the specific language governing rights
 *  and limitations under the License.
 *
 *  The Original Code was created by Alexander Peshkoff
 *  for the Firebird Open Source RDBMS project.
 *
 *  Copyright (c) 2016 Alexander Peshkoff <peshkoff@mail.ru>;
 *  and all contributors signed below.
 *
 *  All Rights Reserved.
 *  Contributor(s): ______________________________________. }

library cryptDb;

uses
  SysUtils,
  Classes,
  Firebird;
...
Рейтинг: 0 / 0
Под какой лицензией firebird.pas?
    #39624972
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hommer,

является, потому что он написан руками, а не сгенерирован автоматически. Разницу видишь?

З.Ы. ты можешь написать собственный генератор который создаёт интерфейс для любого другого языка программирования. И вновь генерированный файл не обязан сдержать какую-то лицензию.
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Под какой лицензией firebird.pas?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]