comp.lang.ada
 help / color / mirror / Atom feed
* Ada-WinRT bindings - Alpha release
@ 2018-04-13  9:05 alby.gamper
  2018-04-13 15:03 ` Dan'l Miller
                   ` (4 more replies)
  0 siblings, 5 replies; 25+ messages in thread
From: alby.gamper @ 2018-04-13  9:05 UTC (permalink / raw)


Dear Ada community

I am pleased to announce the initial alpha release of the WinRt bindings for Ada.
It is available on GitHub at the following URL

https://github.com/Alex-Gamper/Ada-WinRT

Please feel free to raise issues/question/recommendations for improvements either
via GitHub or on his forum

Thanks

Alex


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13  9:05 Ada-WinRT bindings - Alpha release alby.gamper
@ 2018-04-13 15:03 ` Dan'l Miller
  2018-04-13 18:47 ` Dan'l Miller
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 25+ messages in thread
From: Dan'l Miller @ 2018-04-13 15:03 UTC (permalink / raw)


On Friday, April 13, 2018 at 4:05:41 AM UTC-5, alby....@gmail.com wrote:
> Dear Ada community
> 
> I am pleased to announce the initial alpha release of the WinRt bindings for Ada.

Thank you so much.  I will take a look at this.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13  9:05 Ada-WinRT bindings - Alpha release alby.gamper
  2018-04-13 15:03 ` Dan'l Miller
@ 2018-04-13 18:47 ` Dan'l Miller
  2018-04-13 20:06 ` Luke A. Guest
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 25+ messages in thread
From: Dan'l Miller @ 2018-04-13 18:47 UTC (permalink / raw)


On Friday, April 13, 2018 at 4:05:41 AM UTC-5, alby....@gmail.com wrote:
> Dear Ada community
> 
> I am pleased to announce the initial alpha release of the WinRt bindings for Ada.
> It is available on GitHub at the following URL
> 
> https://github.com/Alex-Gamper/Ada-WinRT
> 
> Please feel free to raise issues/question/recommendations for improvements either
> via GitHub or on his forum

I just submitted your first issue.  It is really merely a suggestion for a single revealing UWP example selected out of a treasure trove of predominantly-C# UWP examples (with a few C++/CX portings too).  I picked what I think is the very biggest opportunity for learning:  a single line of code that is a juicy situation that is not as mechanical as most of the C++/CX-to-C++/WinRT porting.  It would be very instructive to see how Ada-WinRT handles that situation (i.e., handles it at all, especially, to see how Ada-WinRT handles that situation better).


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13  9:05 Ada-WinRT bindings - Alpha release alby.gamper
  2018-04-13 15:03 ` Dan'l Miller
  2018-04-13 18:47 ` Dan'l Miller
@ 2018-04-13 20:06 ` Luke A. Guest
  2018-04-13 21:13   ` Dan'l Miller
  2018-04-13 22:57   ` Simon Wright
  2018-04-14  3:18 ` Dan'l Miller
  2018-04-14  9:21 ` gorgelo
  4 siblings, 2 replies; 25+ messages in thread
From: Luke A. Guest @ 2018-04-13 20:06 UTC (permalink / raw)


<alby.gamper@gmail.com> wrote:
> Dear Ada community
> 
> I am pleased to announce the initial alpha release of the WinRt bindings for Ada.
> It is available on GitHub at the following URL
> 
> https://github.com/Alex-Gamper/Ada-WinRT

I knew it, GPLv3! Why?????


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 20:06 ` Luke A. Guest
@ 2018-04-13 21:13   ` Dan'l Miller
  2018-04-13 21:58     ` Paul Rubin
  2018-04-13 23:11     ` alby.gamper
  2018-04-13 22:57   ` Simon Wright
  1 sibling, 2 replies; 25+ messages in thread
From: Dan'l Miller @ 2018-04-13 21:13 UTC (permalink / raw)


On Friday, April 13, 2018 at 3:06:43 PM UTC-5, Luke A. Guest wrote:
> Alex Gamper wrote:
> > Dear Ada community
> > 
> > I am pleased to announce the initial alpha release of the WinRt bindings for Ada.
> > It is available on GitHub at the following URL
> > 
> > https://github.com/Alex-Gamper/Ada-WinRT
> 
> I knew it, GPLv3! Why?????

Yeah, Alex, I was wondering the same thing (at least a variant thereof).  Why not LGPLv3 for the .adb and .ads bindings that contribute to a Windows app (and the examples thereof)?  And then full-fledged GPLv3 for the separate (not-released) tool-executable that generates the .adb and .ads files?  [Btw, Luke, that immediately-preceding sentence regarding GPLv3 for the tool might partially answer your why question, but unfortunately misapplied to the .adb and .ads Ada bindings of WinRT components.]

Such adjustments to the licensing would permit someone (like me) to utilize Ada-WinRT in non-GPLed apps.

Alex, at some point in the foreseeable future, do you plan on releasing the tool that generates the Ada bindings?  The tool would have applicability to generating bindings to other WinRT components wrapping other libraries and within apps, not merely the WinRT/UWP framework wrapping the operating system.  People want to generate their own Ada bindings just like you did for WinRT.  You could have another GitHub repository for the binding-generator tool-executable, whose license would (continue to) be GPLv3 (while this bindings library would be re-licensed as LGPLv3).


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 21:13   ` Dan'l Miller
@ 2018-04-13 21:58     ` Paul Rubin
  2018-04-13 23:11       ` Dan'l Miller
  2018-04-14 15:28       ` Lucretia
  2018-04-13 23:11     ` alby.gamper
  1 sibling, 2 replies; 25+ messages in thread
From: Paul Rubin @ 2018-04-13 21:58 UTC (permalink / raw)


"Dan'l Miller" <optikos@verizon.net> writes:
> Yeah, Alex, I was wondering the same thing (at least a variant
> thereof).  Why not LGPLv3

https://www.gnu.org/licenses/why-not-lgpl.html

> (while this bindings library would be re-licensed as LGPLv3).

I can't speak for Alex but as an occasional author of GPL code myself, I
can tell you that (from my end) requests for re-licensing are taken more
seriously when they are accompanied by offers of development funding.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 20:06 ` Luke A. Guest
  2018-04-13 21:13   ` Dan'l Miller
@ 2018-04-13 22:57   ` Simon Wright
  1 sibling, 0 replies; 25+ messages in thread
From: Simon Wright @ 2018-04-13 22:57 UTC (permalink / raw)


Luke A. Guest <laguest@archeia.com> writes:

> <alby.gamper@gmail.com> wrote:
>> Dear Ada community
>> 
>> I am pleased to announce the initial alpha release of the WinRt
>> bindings for Ada.
>> It is available on GitHub at the following URL
>> 
>> https://github.com/Alex-Gamper/Ada-WinRT
>
> I knew it, GPLv3! Why?????

What's wrong with GPLv3, so long as you add the GCC Runtime Library
exception? (which is how the FSF runtimes, C, C++, Ada, ... are
licensed)

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 21:13   ` Dan'l Miller
  2018-04-13 21:58     ` Paul Rubin
@ 2018-04-13 23:11     ` alby.gamper
  2018-04-13 23:16       ` Dan'l Miller
  2018-04-14  7:13       ` Simon Wright
  1 sibling, 2 replies; 25+ messages in thread
From: alby.gamper @ 2018-04-13 23:11 UTC (permalink / raw)


On Saturday, April 14, 2018 at 7:13:33 AM UTC+10, Dan'l Miller wrote:
> On Friday, April 13, 2018 at 3:06:43 PM UTC-5, Luke A. Guest wrote:
> > Alex Gamper wrote:
> > > Dear Ada community
> > > 
> > > I am pleased to announce the initial alpha release of the WinRt bindings for Ada.
> > > It is available on GitHub at the following URL
> > > 
> > > https://github.com/Alex-Gamper/Ada-WinRT
> > 
> > I knew it, GPLv3! Why?????
> 
> Yeah, Alex, I was wondering the same thing (at least a variant thereof).  Why not LGPLv3 for the .adb and .ads bindings that contribute to a Windows app (and the examples thereof)?  And then full-fledged GPLv3 for the separate (not-released) tool-executable that generates the .adb and .ads files?  [Btw, Luke, that immediately-preceding sentence regarding GPLv3 for the tool might partially answer your why question, but unfortunately misapplied to the .adb and .ads Ada bindings of WinRT components.]
> 
> Such adjustments to the licensing would permit someone (like me) to utilize Ada-WinRT in non-GPLed apps.
> 
> Alex, at some point in the foreseeable future, do you plan on releasing the tool that generates the Ada bindings?  The tool would have applicability to generating bindings to other WinRT components wrapping other libraries and within apps, not merely the WinRT/UWP framework wrapping the operating system.  People want to generate their own Ada bindings just like you did for WinRT.  You could have another GitHub repository for the binding-generator tool-executable, whose license would (continue to) be GPLv3 (while this bindings library would be re-licensed as LGPLv3).

Dear Dan'l

I am happy to change the licensing of the bindings to LGPL and will do so over
the weekend. As for the binding generator, I have as yet not decided on if I will
release it (The code is /was hacked together and is in need of some serious
redesign/restructure/rework :-)

Alex


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 21:58     ` Paul Rubin
@ 2018-04-13 23:11       ` Dan'l Miller
  2018-04-13 23:15         ` alby.gamper
  2018-04-14  4:09         ` Paul Rubin
  2018-04-14 15:28       ` Lucretia
  1 sibling, 2 replies; 25+ messages in thread
From: Dan'l Miller @ 2018-04-13 23:11 UTC (permalink / raw)


On Friday, April 13, 2018 at 4:58:48 PM UTC-5, Paul Rubin wrote:
> "Dan'l Miller" writes:
> > Yeah, Alex, I was wondering the same thing (at least a variant
> > thereof).  Why not LGPLv3
> 
> https://www.gnu.org/licenses/why-not-lgpl.html
> 
> > (while this bindings library would be re-licensed as LGPLv3).
> 
> I can't speak for Alex but as an occasional author of GPL code myself, I
> can tell you that (from my end) requests for re-licensing are taken more
> seriously when they are accompanied by offers of development funding.

Why would you even bother writing libraries that evoke the viral aspect of GPL, forcing your choice of license on apps of which your library is some mere tiny minuscule portion?


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 23:11       ` Dan'l Miller
@ 2018-04-13 23:15         ` alby.gamper
  2018-04-13 23:17           ` alby.gamper
  2018-04-13 23:20           ` Dan'l Miller
  2018-04-14  4:09         ` Paul Rubin
  1 sibling, 2 replies; 25+ messages in thread
From: alby.gamper @ 2018-04-13 23:15 UTC (permalink / raw)


On Saturday, April 14, 2018 at 9:11:57 AM UTC+10, Dan'l Miller wrote:
> On Friday, April 13, 2018 at 4:58:48 PM UTC-5, Paul Rubin wrote:
> > "Dan'l Miller" writes:
> > > Yeah, Alex, I was wondering the same thing (at least a variant
> > > thereof).  Why not LGPLv3
> > 
> > https://www.gnu.org/licenses/why-not-lgpl.html
> > 
> > > (while this bindings library would be re-licensed as LGPLv3).
> > 
> > I can't speak for Alex but as an occasional author of GPL code myself, I
> > can tell you that (from my end) requests for re-licensing are taken more
> > seriously when they are accompanied by offers of development funding.
> 
> Why would you even bother writing libraries that evoke the viral aspect of GPL, forcing your choice of license on apps of which your library is some mere tiny minuscule portion?


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 23:11     ` alby.gamper
@ 2018-04-13 23:16       ` Dan'l Miller
  2018-04-14  7:13       ` Simon Wright
  1 sibling, 0 replies; 25+ messages in thread
From: Dan'l Miller @ 2018-04-13 23:16 UTC (permalink / raw)


On Friday, April 13, 2018 at 6:11:38 PM UTC-5, alby....@gmail.com wrote:
> On Saturday, April 14, 2018 at 7:13:33 AM UTC+10, Dan'l Miller wrote:
> > On Friday, April 13, 2018 at 3:06:43 PM UTC-5, Luke A. Guest wrote:
> > > Alex Gamper wrote:
> > > > Dear Ada community
> > > > 
> > > > I am pleased to announce the initial alpha release of the WinRt bindings for Ada.
> > > > It is available on GitHub at the following URL
> > > > 
> > > > https://github.com/Alex-Gamper/Ada-WinRT
> > > 
> > > I knew it, GPLv3! Why?????
> > 
> > Yeah, Alex, I was wondering the same thing (at least a variant thereof).  Why not LGPLv3 for the .adb and .ads bindings that contribute to a Windows app (and the examples thereof)?  And then full-fledged GPLv3 for the separate (not-released) tool-executable that generates the .adb and .ads files?  [Btw, Luke, that immediately-preceding sentence regarding GPLv3 for the tool might partially answer your why question, but unfortunately misapplied to the .adb and .ads Ada bindings of WinRT components.]
> > 
> > Such adjustments to the licensing would permit someone (like me) to utilize Ada-WinRT in non-GPLed apps.
> > 
> > Alex, at some point in the foreseeable future, do you plan on releasing the tool that generates the Ada bindings?  The tool would have applicability to generating bindings to other WinRT components wrapping other libraries and within apps, not merely the WinRT/UWP framework wrapping the operating system.  People want to generate their own Ada bindings just like you did for WinRT.  You could have another GitHub repository for the binding-generator tool-executable, whose license would (continue to) be GPLv3 (while this bindings library would be re-licensed as LGPLv3).
> 
> Dear Dan'l
> 
> I am happy to change the licensing of the bindings to LGPL and will do so over
> the weekend.

  Thank you very much!

> As for the binding generator, I have as yet not decided on if I will
> release it (The code is /was hacked together and is in need of some serious
> redesign/restructure/rework :-)

Please do whatever you feel comfortable with whenever you are comfortable on the binding generator.  You are the creator; you must do what makes you proud and happy with your (awesome) creation.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 23:15         ` alby.gamper
@ 2018-04-13 23:17           ` alby.gamper
  2018-04-13 23:20           ` Dan'l Miller
  1 sibling, 0 replies; 25+ messages in thread
From: alby.gamper @ 2018-04-13 23:17 UTC (permalink / raw)


On Saturday, April 14, 2018 at 9:15:45 AM UTC+10, alby....@gmail.com wrote:
> On Saturday, April 14, 2018 at 9:11:57 AM UTC+10, Dan'l Miller wrote:
> > On Friday, April 13, 2018 at 4:58:48 PM UTC-5, Paul Rubin wrote:
> > > "Dan'l Miller" writes:
> > > > Yeah, Alex, I was wondering the same thing (at least a variant
> > > > thereof).  Why not LGPLv3
> > > 
> > > https://www.gnu.org/licenses/why-not-lgpl.html
> > > 
> > > > (while this bindings library would be re-licensed as LGPLv3).
> > > 
> > > I can't speak for Alex but as an occasional author of GPL code myself, I
> > > can tell you that (from my end) requests for re-licensing are taken more
> > > seriously when they are accompanied by offers of development funding.
> > 
> > Why would you even bother writing libraries that evoke the viral aspect of GPL, forcing your choice of license on apps of which your library is some mere tiny minuscule portion?

I will change the licensing to LGPL over the weekend

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 23:15         ` alby.gamper
  2018-04-13 23:17           ` alby.gamper
@ 2018-04-13 23:20           ` Dan'l Miller
  1 sibling, 0 replies; 25+ messages in thread
From: Dan'l Miller @ 2018-04-13 23:20 UTC (permalink / raw)


On Friday, April 13, 2018 at 6:15:45 PM UTC-5, alby....@gmail.com wrote:
> On Saturday, April 14, 2018 at 9:11:57 AM UTC+10, Dan'l Miller wrote:
> > On Friday, April 13, 2018 at 4:58:48 PM UTC-5, Paul Rubin wrote:
> > > "Dan'l Miller" writes:
> > > > Yeah, Alex, I was wondering the same thing (at least a variant
> > > > thereof).  Why not LGPLv3
> > > 
> > > https://www.gnu.org/licenses/why-not-lgpl.html
> > > 
> > > > (while this bindings library would be re-licensed as LGPLv3).
> > > 
> > > I can't speak for Alex but as an occasional author of GPL code myself, I
> > > can tell you that (from my end) requests for re-licensing are taken more
> > > seriously when they are accompanied by offers of development funding.
> > 
> > Why would you even bother writing libraries that evoke the viral aspect of GPL, forcing your choice of license on apps of which your library is some mere tiny minuscule portion?

This was in reply to Paul Rubin, btw.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13  9:05 Ada-WinRT bindings - Alpha release alby.gamper
                   ` (2 preceding siblings ...)
  2018-04-13 20:06 ` Luke A. Guest
@ 2018-04-14  3:18 ` Dan'l Miller
  2018-04-14  9:21 ` gorgelo
  4 siblings, 0 replies; 25+ messages in thread
From: Dan'l Miller @ 2018-04-14  3:18 UTC (permalink / raw)


On Friday, April 13, 2018 at 4:05:41 AM UTC-5, alby....@gmail.com wrote:
> Please feel free to raise issues/question/recommendations for improvements either
> via GitHub or on his forum

After taking a look at the current Ada-WinRT analogue of C#'s await, I posted your second issue, which is really just brainstorming food for thought
1) regarding how C#'s Roslyn compiler actually implements await on WinRT-component async methods in processor-native machine code or on .NET async methods in the CLR
and
2) regarding how C++/WinRT proposes 2 different solutions—
2.1) one a Microsoft-esque mixin-interface for taming the callback alternative design (that you mention on Ada-WinRT's README.md)
and
2.2 the other a solution based on C++'s emerging co-routine feature.

In addition to the 2 you list on the README.md (and in addition to any designs resulting from cross-pollination from the food-for-thought above), wouldn't there be a 3rd Ada task-based solution as well?  Especially one where the task (as costly-to-spawn kernel thread) is not elaborated/spawned at the time of invocation of the async function, but rather where a configurable-sized task pool is where the-operation-has-now-completed handlers all execute for the plethora of hundreds and hundreds of async functions throughout the WinRT-component framework.  Indeed, perhaps there exist multiple such pools:  one for Category-A async operations, another for Category-B async operations, and so forth, whatever the categorization scheme therein would be.  (As the world marches onward to many-core processors and ccNUMA processor-confederations, each Category there could be thought of as a processor core, or, in an processor confederation, a whole processor.)

Does anyone know of a general-purpose Ada library boilerplate analogue of the C# await for async subroutines?  (I.e., not a custom-crafted design for each async invocation)  (And i.e., not waiting years for Ada co-routines in Ada2020, if ever)  E.g., analogous to the mixing-interface implements<MyAsync, IAsyncAction, IAsyncInfo> in the blog posting https://kennykerr.ca/2018/03/09/cppwinrt-producing-async-objects


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 23:11       ` Dan'l Miller
  2018-04-13 23:15         ` alby.gamper
@ 2018-04-14  4:09         ` Paul Rubin
  2018-04-14  5:14           ` alby.gamper
  1 sibling, 1 reply; 25+ messages in thread
From: Paul Rubin @ 2018-04-14  4:09 UTC (permalink / raw)


"Dan'l Miller" <optikos@verizon.net> writes:
> Why would you even bother writing libraries that evoke the viral
> aspect of GPL, forcing your choice of license on apps of which your
> library is some mere tiny minuscule portion?

I already posted a link that explains this:

 https://www.gnu.org/licenses/why-not-lgpl.html


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-14  4:09         ` Paul Rubin
@ 2018-04-14  5:14           ` alby.gamper
  2018-04-14  6:42             ` Paul Rubin
  0 siblings, 1 reply; 25+ messages in thread
From: alby.gamper @ 2018-04-14  5:14 UTC (permalink / raw)


On Saturday, April 14, 2018 at 2:09:17 PM UTC+10, Paul Rubin wrote:

> > Why would you even bother writing libraries that evoke the viral
> > aspect of GPL, forcing your choice of license on apps of which your
> > library is some mere tiny minuscule portion?
> 
> I already posted a link that explains this:
> 
>  https://www.gnu.org/licenses/why-not-lgpl.html

In the interests of the Ada community as a whole, I have now re-licensed the Ada
bindings as LGPLv3. In hindsight this probably makes the most sense.

Alex


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-14  5:14           ` alby.gamper
@ 2018-04-14  6:42             ` Paul Rubin
  0 siblings, 0 replies; 25+ messages in thread
From: Paul Rubin @ 2018-04-14  6:42 UTC (permalink / raw)


alby.gamper@gmail.com writes:
> In the interests of the Ada community as a whole, I have now
> re-licensed the Ada bindings as LGPLv3. In hindsight this probably
> makes the most sense.

Of course it's your call and (from my perspective) either license is
fine.  The GPL ensures that end users can get the application source
code, putting Ada code into the hands of more people and maybe getting
some of them improving it.  The LGPL on the other hand possibly yields
improved revenue opportunities to the app writer, so in theory a few
more apps might get written.

I don't think there's a clear-cut answer to which of these is better for
the Ada community.  There are costs and benefits either way.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 23:11     ` alby.gamper
  2018-04-13 23:16       ` Dan'l Miller
@ 2018-04-14  7:13       ` Simon Wright
  2018-04-14  9:21         ` alby.gamper
  2018-04-14 14:13         ` Dan'l Miller
  1 sibling, 2 replies; 25+ messages in thread
From: Simon Wright @ 2018-04-14  7:13 UTC (permalink / raw)


alby.gamper@gmail.com writes:

> I am happy to change the licensing of the bindings to LGPL and will do
> so over the weekend.

There are clearly different arguments to be made here, but since GCC has
deprecated the LGPL and instead allowed people who want to build
proprietary software using GCC (and, therefore, the necessary included
runtimes) by applying the GCC Runtime Library Exception[1] to their
libraries[2], I follow their example [3].

[1] https://www.gnu.org/licenses/gcc-exception
[2] https://github.com/gcc-mirror/gcc/blob/master/libgcc/dfp-bit.c#L16
[3] https://github.com/simonjwright/cortex-gnat-rts/blob/master/common/environment_task.adb#L11


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13  9:05 Ada-WinRT bindings - Alpha release alby.gamper
                   ` (3 preceding siblings ...)
  2018-04-14  3:18 ` Dan'l Miller
@ 2018-04-14  9:21 ` gorgelo
  2018-04-14  9:44   ` alby.gamper
  4 siblings, 1 reply; 25+ messages in thread
From: gorgelo @ 2018-04-14  9:21 UTC (permalink / raw)


Den fredag 13 april 2018 kl. 11:05:41 UTC+2 skrev alby....@gmail.com:
> Dear Ada community
> 
> I am pleased to announce the initial alpha release of the WinRt bindings for Ada.
> It is available on GitHub at the following URL
> 
> https://github.com/Alex-Gamper/Ada-WinRT
> 
> Please feel free to raise issues/question/recommendations for improvements either
> via GitHub or on his forum
> 
> Thanks
> 
> Alex

Hi Alex!

Great work on the Windows binding! It is huge! :)

One thing I keep in mind when making Ada bindings to C libraries is to attempt hiding the access types from the users of the API. For example wrapping the access type variables inside the private the part of limited types (to avoid copying of the private access type variable in order to be sure one does unchecked deallocation just once). It means first making a thin binding with access types (because there are pointers in the C API) and then building a thick binding on top. And oh yes, that's easier said than done. Anyways, something I keep in mind.

Best regards,
Joakiim


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-14  7:13       ` Simon Wright
@ 2018-04-14  9:21         ` alby.gamper
  2018-04-14 14:13         ` Dan'l Miller
  1 sibling, 0 replies; 25+ messages in thread
From: alby.gamper @ 2018-04-14  9:21 UTC (permalink / raw)


On Saturday, April 14, 2018 at 5:13:37 PM UTC+10, Simon Wright wrote:
> alby.gamper@gmail.com writes:
> 
> > I am happy to change the licensing of the bindings to LGPL and will do
> > so over the weekend.
> 
> There are clearly different arguments to be made here, but since GCC has
> deprecated the LGPL and instead allowed people who want to build
> proprietary software using GCC (and, therefore, the necessary included
> runtimes) by applying the GCC Runtime Library Exception[1] to their
> libraries[2], I follow their example [3].
> 
> [1] https://www.gnu.org/licenses/gcc-exception
> [2] https://github.com/gcc-mirror/gcc/blob/master/libgcc/dfp-bit.c#L16
> [3] https://github.com/simonjwright/cortex-gnat-rts/blob/master/common/environment_task.adb#L11

Thank you all for you valued comments regarding licensing, However!

I believe we are getting somewhat off topic, wrt licensing. Lets as a 
community, (both LGPL development and GPL team's) contribute to what is
essentially a very small piece of technology that assist in making Ada as a
language more accessible to mainstream environments (very subjective) targeting
Microsoft Windows.

Alex


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-14  9:21 ` gorgelo
@ 2018-04-14  9:44   ` alby.gamper
  0 siblings, 0 replies; 25+ messages in thread
From: alby.gamper @ 2018-04-14  9:44 UTC (permalink / raw)


On Saturday, April 14, 2018 at 7:21:16 PM UTC+10, gor...@hotmail.com wrote:
> Den fredag 13 april 2018 kl. 11:05:41 UTC+2 skrev alby....@gmail.com:
> > Dear Ada community
> > 
> > I am pleased to announce the initial alpha release of the WinRt bindings for Ada.
> > It is available on GitHub at the following URL
> > 
> > https://github.com/Alex-Gamper/Ada-WinRT
> > 
> > Please feel free to raise issues/question/recommendations for improvements either
> > via GitHub or on his forum
> > 
> > Thanks
> > 
> > Alex
> 
> Hi Alex!
> 
> Great work on the Windows binding! It is huge! :)
> 
> One thing I keep in mind when making Ada bindings to C libraries is to attempt hiding the access types from the users of the API. For example wrapping the access type variables inside the private the part of limited types (to avoid copying of the private access type variable in order to be sure one does unchecked deallocation just once). It means first making a thin binding with access types (because there are pointers in the C API) and then building a thick binding on top. And oh yes, that's easier said than done. Anyways, something I keep in mind.
> 
> Best regards,
> Joakiim

Hi Joakiim

I sort of understand where you are coming from? I fell into a trap of over 
implementing the mappings of WinRT to Ada, which resulted in a huge Api surface

As a compromise I focused on the core COM interfaces (which WinRT/UWP is based
upon). So in essence the current bindings represent a low level bindings that
can and should be built upon.

Alex


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-14  7:13       ` Simon Wright
  2018-04-14  9:21         ` alby.gamper
@ 2018-04-14 14:13         ` Dan'l Miller
  2018-04-14 14:41           ` Simon Wright
  1 sibling, 1 reply; 25+ messages in thread
From: Dan'l Miller @ 2018-04-14 14:13 UTC (permalink / raw)


On Saturday, April 14, 2018 at 2:13:37 AM UTC-5, Simon Wright wrote:
> Alex writes:
> 
> > I am happy to change the licensing of the bindings to LGPL and will do
> > so over the weekend.
> 
> There are clearly different arguments to be made here, but since GCC has
> deprecated the LGPL and instead allowed people who want to build
> proprietary software using GCC (and, therefore, the necessary included
> runtimes) by applying the GCC Runtime Library Exception[1] to their
> libraries[2], I follow their example [3].
> 
> [1] https://www.gnu.org/licenses/gcc-exception
> [2] https://github.com/gcc-mirror/gcc/blob/master/libgcc/dfp-bit.c#L16
> [3] https://github.com/simonjwright/cortex-gnat-rts/blob/master/common/environment_task.adb#L11

Simon, for a library implementation (e.g., GCC's C and C++ standard libraries) that somehow is limited to only GCC, not portable to (or intended for) other compilers and linkers and toolchains, then perhaps that is a valid line of reasoning.  But in this case, Alex's Ada-WinRT should be able to utilized nonvirally with any non-GNAT Ada compiler that happens to support a Microsoft build environment.  Every conceivable non-GNAT Ada compiler now extant or forthcoming in the future could easily trigger the Eligible Compilation Process clause:

“A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC.”

Ada-WinRT is intended for WinRT DLLs, called components, which bring the vast majority of .NET's framework to processor-native machine-code languages.  Microsoft is increasingly dependent on Mono to spread .NET to iOS and to Android (and presumably Fuscia and perhaps Tizen in the future).  It is easily conceivable for Ada-WinRT to be applicable to this expanding Mono-based footprint on non-Microsoft operating systems, as bindings are generated for Mono and/or for Cocoa Touch's presentation in Mono and/or Android SDK's presentation in Mono.  Conversely, Mono could conceivably now or in the future trivially utilize some portion of GCC somewhere in its build process of something—anything on which Ada-WinRT is downstream, even indirectly.  This could trigger the “any work based on GCC” clause in the Eligible Compilation Process, which would then revert Ada-WinRT's GPL-with-Runtime-Exception license to full-fledged GPL.  This sneak-in-the-backdoor sequence of events years from now is specifically the kind of viralness that is feared from the GPL, including the GPL-with-Runtime-Exceptions.

LGPL does not have that potential vector of viral-ness at all.  LGPL is safe for app developers.  LGPL forces anyone modifying Alex's Ada-WinRT work to contribute those modifications publicly so that they get back to Alex.  Win-win.  If FSF is all about freedom, then Alex is completely free and unfettered to choose whichever license he thinks best, considering all these ramifications.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-14 14:13         ` Dan'l Miller
@ 2018-04-14 14:41           ` Simon Wright
  2018-04-14 22:28             ` Dan'l Miller
  0 siblings, 1 reply; 25+ messages in thread
From: Simon Wright @ 2018-04-14 14:41 UTC (permalink / raw)


"Dan'l Miller" <optikos@verizon.net> writes:

> Conversely, Mono could conceivably now or in the future trivially
> utilize some portion of GCC somewhere in its build process of
> something—anything on which Ada-WinRT is downstream, even indirectly.
> This could trigger the “any work based on GCC” clause in the Eligible
> Compilation Process, which would then revert Ada-WinRT's
> GPL-with-Runtime-Exception license to full-fledged GPL.  This
> sneak-in-the-backdoor sequence of events years from now is
> specifically the kind of viralness that is feared from the GPL,
> including the GPL-with-Runtime-Exceptions.

You may be right, IANAL, are you? What exactly does "any work based on
GCC" mean, anyway?

>                                LGPL forces anyone modifying Alex's
> Ada-WinRT work to contribute those modifications publicly so that they
> get back to Alex.

I don't see that? LGPL looks so complicated that you would need a lawyer
to be sure.

>                                                              Alex is
> completely free and unfettered to choose whichever license he thinks
> best, considering all these ramifications.

Well, why not MIT then?

I don't think we are going to agree on any of this. Shutting up.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-13 21:58     ` Paul Rubin
  2018-04-13 23:11       ` Dan'l Miller
@ 2018-04-14 15:28       ` Lucretia
  1 sibling, 0 replies; 25+ messages in thread
From: Lucretia @ 2018-04-14 15:28 UTC (permalink / raw)


On Friday, 13 April 2018 22:58:48 UTC+1, Paul Rubin  wrote:

> > (while this bindings library would be re-licensed as LGPLv3).
> 
> I can't speak for Alex but as an occasional author of GPL code myself, I
> can tell you that (from my end) requests for re-licensing are taken more
> seriously when they are accompanied by offers of development funding.

I have no problem with GPL for APPLICATIONS. But licensing a library with it is stupid and limiting.

I do all libs in other licences because I want people to use them.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada-WinRT bindings - Alpha release
  2018-04-14 14:41           ` Simon Wright
@ 2018-04-14 22:28             ` Dan'l Miller
  0 siblings, 0 replies; 25+ messages in thread
From: Dan'l Miller @ 2018-04-14 22:28 UTC (permalink / raw)


On Saturday, April 14, 2018 at 9:41:38 AM UTC-5, Simon Wright wrote:
> "Dan'l Miller" writes:
> 
> > Conversely, Mono could conceivably now or in the future trivially
> > utilize some portion of GCC somewhere in its build process of
> > something—anything on which Ada-WinRT is downstream, even indirectly.
> > This could trigger the “any work based on GCC” clause in the Eligible
> > Compilation Process, which would then revert Ada-WinRT's
> > GPL-with-Runtime-Exception license to full-fledged GPL.  This
> > sneak-in-the-backdoor sequence of events years from now is
> > specifically the kind of viralness that is feared from the GPL,
> > including the GPL-with-Runtime-Exceptions.
> 
> You may be right, IANAL, are you? What exactly does "any work based on
> GCC" mean, anyway?

In jurisdictions of the USA where I live (Texas), the plain meaning of the statutory law (and state and federal constitutions) as a sufficiently well-read commonperson would understand the words & phrases & sentences & contexts to mean are what the words & phrases & sentences & contexts mean, unless there exists an ambiguity caused by a misspelled word or an ungrammatical construct in English.  By that standard, the plain meaning as understood by a common person prevails over any contortions by a lawyer.  Hence, no lawyer is needed to read and comprehend the LGPL and GPL, if the reader has completely read those 2 contracts and has read & comprehended USA's copyright law, such as at & near the URL below.

In the USA's copyright law, (unless narrowed by “original” or “derivative”,) “work” is shorthand for ‘an original artifact or a verbatim copy thereof or a derivative copy thereof’ so that that long phrase need not be instantiated over & over again.

https://www.copyright.gov/title17/92chap1.html

> >                                LGPL forces anyone modifying Alex's
> > Ada-WinRT work to contribute those modifications publicly so that they
> > get back to Alex.
> 
> I don't see that? LGPL looks so complicated that you would need a lawyer
> to be sure.

You don't see it, so let's all see it together.  Under the plain-English meaning of LGPLv3, modification to Ada-WinRT itself would not fall into any of LGPLv3's exceptions of creating a Combined Work (i.e., an application/executable as a linked file on persistent storage and/or as a link-loaded work in RAM).  Here are the steps that give application a right to copy a work (i.e., DLL) derived from a modified source code of Ada-WinRT:
0) Modify Ada-WinRT in some way that the application/executable absolutely needs (e.g., the fix of a severe bug without which application won't work).
1) in LGPLv3: “Use a suitable shared library mechanism for linking with the Library.”  [so that a software-freedom user of the application may install a further-modified variant of Ada-WinRT DLL underneath the application]
2) in LGPLv3: “you may convey a copy of the modified version … under the GNU GPL, with none of the additional permissions of this License applicable to that copy.“ [because without these words, application has no right to copy the modified the derived work (i.e., object code) of the modified Ada-WinRT]
3) in GPLv3: “You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable ••Corresponding Source•• under the terms of this License, in one of these ways: … Convey the object code …, accompanied by … access to copy the Corresponding Source from a network server at no charge.” [which is the must-supply-the-source-code-publicly that Simon Wright was not overtly seeing in the LGPL itself, which is true that these words did not appear in the LGPL itself, because the LGPL evoked these words from the GPL, not unlike calling a subroutine.]
4) Alex downloads that modified source code from that network server (e.g., GitHub).
5) Alex incorporates that fix into the head-end source code of Ada-WinRT.
Q.E.D.

> >                                                              Alex is
> > completely free and unfettered to choose whichever license he thinks
> > best, considering all these ramifications.
> 
> Well, why not MIT then?

Because people who modify Ada-WinRT would not be compelled to release their modifications publicly, inhibiting Alex from merging them into head-end source code of Ada-WinRT.

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2018-04-14 22:28 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-13  9:05 Ada-WinRT bindings - Alpha release alby.gamper
2018-04-13 15:03 ` Dan'l Miller
2018-04-13 18:47 ` Dan'l Miller
2018-04-13 20:06 ` Luke A. Guest
2018-04-13 21:13   ` Dan'l Miller
2018-04-13 21:58     ` Paul Rubin
2018-04-13 23:11       ` Dan'l Miller
2018-04-13 23:15         ` alby.gamper
2018-04-13 23:17           ` alby.gamper
2018-04-13 23:20           ` Dan'l Miller
2018-04-14  4:09         ` Paul Rubin
2018-04-14  5:14           ` alby.gamper
2018-04-14  6:42             ` Paul Rubin
2018-04-14 15:28       ` Lucretia
2018-04-13 23:11     ` alby.gamper
2018-04-13 23:16       ` Dan'l Miller
2018-04-14  7:13       ` Simon Wright
2018-04-14  9:21         ` alby.gamper
2018-04-14 14:13         ` Dan'l Miller
2018-04-14 14:41           ` Simon Wright
2018-04-14 22:28             ` Dan'l Miller
2018-04-13 22:57   ` Simon Wright
2018-04-14  3:18 ` Dan'l Miller
2018-04-14  9:21 ` gorgelo
2018-04-14  9:44   ` alby.gamper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox