×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

ASIAIR and opensource software licences

  • Posts: 22
  • Thank you received: 30
Well, looks like my nagging has shown some progress:

github.com/ZWODevTeam/indilib

The owner finally responded to my Facebook DMs, we're now having a conversation about the other covered code I found.

Edit: The repo is woefully incomplete. It's a 1.7.5 fork, but the running binaries are 1.7.8, with 22 releases worth of revisions not reflected here.
The following user(s) said Thank You: gehelem, nou
Last edit: 1 year 2 months ago by Bill Nash.
1 year 2 months ago #90782

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 30
billn@Hadriel:~/Downloads/ASIAIR_V2.1/assets/patch/deb/asiair_armhf/home/pi/ASIAIR/bin$ strings zwoair_imager | egrep '[a-z]\(\)' | more
operator()
total() == 0 || data != NULL
operator()
in get_array_subtractor(): %d
ERROR in weigthed_frame_average: divide_accumulator() fails
ERROR in weigthed_frame_average: accumulate_weighted() fails
get_maximal_connected_component() fails
original aixs calculated by function getAxis():azalt (%lf,%lf)
LibRaw::unpack()
jpeg_thumb()
layer_thumb()
ppm_thumb()
android_tight_load_raw()
android_loose_load_raw()
vc5_dng_load_raw_placeholder()
canon_600_load_raw()
fuji_compressed_load_raw()
fuji_14bit_load_raw()
canon_load_raw()
lossless_jpeg_load_raw()
canon_sraw_load_raw()
crxLoadRaw()
lossless_dng_load_raw()
packed_dng_load_raw()
pentax_load_raw()
nikon_load_raw()
nikon_coolscan_load_raw()
nikon_load_sraw()
nikon_load_yuv_load_raw()
rollei_load_raw()
phase_one_load_raw()
phase_one_load_raw_c()
hasselblad_load_raw()
leaf_hdr_load_raw()
unpacked_load_raw()
unpacked_load_raw_reversed()
sinar_4shot_load_raw()
imacon_full_load_raw()
hasselblad_full_load_raw()
packed_load_raw()
broadcom_load_raw()
nokia_load_raw()
panasonic_load_raw()
panasonicC6_load_raw()
panasonicC7_load_raw()
olympus_load_raw()
minolta_rd175_load_raw()
quicktake_100_load_raw()
kodak_radc_load_raw()
kodak_jpeg_load_raw()
lossy_dng_load_raw()
kodak_dc120_load_raw()
eight_bit_load_raw()
kodak_yrgb_load_raw()
kodak_262_load_raw()
kodak_65000_load_raw()
kodak_ycbcr_load_raw()
kodak_rgb_load_raw()
sony_load_raw()
sony_arw_load_raw()
sony_arw2_load_raw()
sony_arq_load_raw()
samsung_load_raw()
samsung2_load_raw()
samsung3_load_raw()
smal_v6_load_raw()
smal_v9_load_raw()
x3f_load_raw()
pentax_4shot_load_raw()
deflate_dng_load_raw()
uncompressed_fp_dng_load_raw()
nikon_load_striped_packed_raw()
nikon_load_padded_packed_raw()
nikon_14bit_load_raw()

These functions come from: github.com/LibRaw
LibRaw is LGPL-2.1/CDDL-1.0, both of which require source disclosure.

In this output, when you see function names in this format 'name()', it's a "statically linked" library, which means the source is included in the binary at compile time.

Conversely, a dynamically linked library inclusion would look like this, the name of the DLL and then a list of exposed functions.
libASICamera2.so
libusb_handle_events_timeout
ASIGetROIFormat
ASIStartExposure
ASIGetNumOfConnectedCameras
libusb_exit
ASIGetStartPos
ASISetControlValue
ASICloseCamera
ASIStartVideoCapture
ASIInitCamera
__pthread_key_create
ASIOpenCamera
ASIGetSDKVersion
ASIGetCameraProperty
ASIGetCameraPropertyByID
libusb_get_device_descriptor
ASIGetControlCaps
_Z13ASISetMemSavei8ASI_BOOL
ASIStopExposure
_Z13ASIIsExposingiR8ASI_BOOL
ASIGetVideoData
_Z21ASIGetCameraLocalPathiPPc
libusb_get_bus_number
ASISetStartPos
libusb_init
ASIGetDataAfterExp
ASIGetLMHGainOffset
ASIGetControlValue
ASISetROIFormat
ASIGetExpStatus
_ITM_deregisterTMCloneTable
ASIGetNumOfControls
ASICameraCheck
__gmon_start__
_ITM_registerTMCloneTable

From what I've seen rooting around in here, this binary is both statically and dynamically linked, and even has shell calls embedded in it. It's a mess.

This was an interesting find:
dcraw v9.26
%04d:%02d:%02d %02d:%02d:%02d
12435867
# EXPTIME=%0.5f
# TIMESTAMP=%d
# ISOSPEED=%d
# APERTURE=%0.1f
# FOCALLEN=%0.1f
# MAKE=%s
# MODEL=%s
WIDTH %d
HEIGHT %d
DEPTH %d
MAXVAL %d
TUPLTYPE %s
ENDHDR
WIDTH %d
HEIGHT %d
DEPTH %d
MAXVAL %d
TUPLTYPE %s
ENDHDR
# EXPTIME=%0.5f
# TIMESTAMP=%d
# ISOSPEED=%d
# APERTURE=%0.1f
# FOCALLEN=%0.1f
# MAKE=%s
# MODEL=%s
%d %d
%d %d
write_ppm_thumb()
ppm16_thumb()
%d %d
rollei_thumb()

The dcraw library (github.com/ncruces/dcraw/blob/master/LICENSE) is GPL-2.0. If the other LGPL code in this binary wasn't enough, this is game over, the GPL license is far stricter about source disclosure.
The following user(s) said Thank You: gehelem, Chris Kuethe
1 year 1 month ago #90945

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 30
billn@Hadriel:~/Downloads/ASIAIR_V2.1/assets/patch/deb/asiair_armhf/home/pi/ASIAIR/bin$ strings zwoair_imager | grep ^lib.*.so
libASICamera2.so
libEFWFilter.so

From www.gnu.org/licenses/old-licenses/gpl-2....en.html#FSWithNFLibs:
'If you do this, your program won't be fully usable in a free environment. If your program depends on a nonfree library to do a certain job, it cannot do that job in the Free World. If it depends on a nonfree library to run at all, it cannot be part of a free operating system such as GNU; it is entirely off limits to the Free World.
So please consider: can you find a way to get the job done without using this library? Can you write a free replacement for that library?

If the program is already written using the nonfree library, perhaps it is too late to change the decision. You may as well release the program as it stands, rather than not release it. But please mention in the README that the need for the nonfree library is a drawback, and suggest the task of changing the program so that it does the same job without the nonfree library. Please suggest that anyone who thinks of doing substantial further work on the program first free it from dependence on the nonfree library.

Note that there may also be legal issues with combining certain nonfree libraries with GPL-covered Free Software. Please see the question on GPL software with GPL-incompatible libraries for more information.'

'If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL?
Yes, because the program actually links to the library. As such, the terms of the GPL apply to the entire combination. The software modules that link with the library may be under various GPL compatible licenses, but the work as a whole must be licensed under the GPL.'

Ouch.
1 year 1 month ago #90949

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 30
Well, I guess ZWO is getting tired of my shit.
The following user(s) said Thank You: gehelem, CYo, Chris Kuethe
1 year 1 month ago #91382
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 30
ZWO posted a response on their Facebook page, which I can't find anymore after a few people commented, linking my last Reddit post, which links back to this one.

Their response:
'ASIAIR and Open Source Software Licensing

We would like to formally respond to a few recent social media posts regarding allegations against ZWO regarding our noncompliance with open-source licensing terms.

ASIAIR is an intelligent wireless controller developed by ZWO, designed for astrophotography. With ASIAIR, users can easily create stunning astro images without the burden of a large computer or laptop and utilize the power of their mobile device. ASIAIR has significantly changed the astro-imaging world, making the hobby even more accessible to newcomers and creating a robust and feature-rich tool for beginners and experts alike. We are incredibly proud of what we have achieved for the community with our ASIAIR product range.

ASIAIR's operating system is based on the Linux platform, utilizing its open-source model and relying on open-source software components during its development. We strictly follow open-source protocols for the open-source software and libraries used by ASIAIR. Our teams regularly publish open-source development of the relevant software and libraries involved. (github.com/ZWODevTeam/indilib, github.com/ZWODevTeam/Astrometry.net).

Any reported software development, bugs, or defects related to software licensing would be quickly rectified in a subsequent release to ensure our continued compliance. We also invite any software author who believes we may have infringed on their open-source licensing terms to contact us. We would be honored to listen to your thoughts and have deeper communication on any concerns you may have.

As many of our loyal customers know, the development of ASIAIR began in 2018, and many of our team have continued to invest in its evolution over the past five years. As a result, it offers an unparalleled user experience and is a prevalent choice for astro-imagers of all levels of experience.

We are committed to providing users with the best astrophotography experience. We thank our customers for their continued support and trust.

We hope to dispel rumors regarding open-source agreements while protecting our intellectual property and business interests. ASIAIR is a registered trademark, and ZWO retains all rights over ASIAIR's software and hardware products.

Suzhou ZWO Co., Ltd. April 8, 2023'

They emailed me this morning as well, attached.
The following user(s) said Thank You: gehelem, Euripides
Last edit: 1 year 2 weeks ago by Bill Nash.
1 year 2 weeks ago #91798
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 96
  • Thank you received: 25
Their post is at m.facebook.com/story.php?story_fbid=pfbi...2721&mibextid=Nif5oz

It's rubbish like this that makes me happy to pay money for stellarmate which doesn't try to lock me in.

Thanks for your work on this. [
The following user(s) said Thank You: Thomas Stibor, gehelem, Dennis Stav, Bill Nash, Paul
1 year 2 weeks ago #91800
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 167
  • Thank you received: 54
Bill for your information, a little followup on my favourite french forum
www.webastro.net/forums/topic/194650-cou...e/6/#comment-2961996

thank you for your persistence
G.
The following user(s) said Thank You: Bill Nash
1 year 1 week ago #91927

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 30
Thanks for sharing that, my grasp of French remains fleeting, but Google translate got me through it well enough. A number of people have reached out to me privately with ZWO's dirty laundry, and I'm at a crossroads as what to do next. I've done enough to thoroughly expose the problem, ZWO themselves did a better job of shining light on the problem than I did, frankly. The two basic responses were mostly a mix of "Doesn't matter, my stuff works" and "Hey, that's bad." One dude called me a Karen.

So now it's just waiting to see what happens next. They've got 9 days, at the time of this writing, before the 30 day clock runs out on one lib author's notice to get correct or he'd revoke their license. They published some source but not everything, by a long shot, so it'll be up to his opinion on their effort as to what happens after that. I never set out to be ZWO's nemesis here, I just them to honor their obligations and maybe, you know, actually give something back to the community instead of slowly poisoning the well with what I feel are anti-competitive tactics, leveraging code they don't have distribution rights to. As one of the folks in that forum pointed out, my options to compel them are limited, the people with power here are lib owners like Jasem. The only other stick I have to wield is politely asking retailers not to carry the product until they get correct.

I'll wait for the next update to the ASIair to drop, and see what they changed, if anything, and how their public repo reflects it.
1 year 1 week ago #91930

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 5

What makes you say that? I'm one of the devs of Siril and I don't see the connection between Siril and zwo_deleteStarsTool.

Cheers,
Last edit: 1 year 1 week ago by lock.
1 year 1 week ago #91961

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 30
root@asiair:/usr/bin# strings zwo_deleteStarsTool | grep Siril
FITS image format %d is not supported by Siril.

I’m traveling right now, that’s just a c/p from an earlier post. I believe that’s a binary build of a star removal tool from the Siril kit. I can grab you the binary if you’d like to look at it yourself.
The following user(s) said Thank You: lock
1 year 1 week ago #91980

Please Log in or Create an account to join the conversation.

  • Posts: 1
  • Thank you received: 0

It appears they've "borrowed" the FITS conversion code from Siril. They may be doing something else on top of that for star removal.

However, since Siril is GPLed, that means that ZWO component and anything it links to needs to be GPLed (and the source code for all released versions provided).
1 year 1 week ago #92019

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 5

agreed
1 year 1 week ago #92023

Please Log in or Create an account to join the conversation.

Time to create page: 1.067 seconds