Add Support for Fujifilm Cameras

Issue #947 new
Zach Hannum created an issue

I would like to add native support for a limited number of Fujifilm cameras supported by Fuji’s new SDK: https://fujifilm-x.com/global/special/camera-control-sdk/

Cameras supported include:

  • X-T3
  • X-T4
  • X-Pro3
  • X-S10
  • GFX 50S
  • GFX 50R
  • GFX 100
  • GFX 100S
  • GFX50S II

I own an X-S10 and have already begun work integrating the SDK.

I think the biggest thing to be concerned about here is Fuji’s warranty disclaimer on the SDK’s website (typo theirs, not mine):

AS STARTED ABOVE, USING THIS SDK TO CONNECT TO OR CONTROL, ANY COMPATIBLE FUJIFILM CAMERA WILL VOID THE CAMERA’S LIMITED PRODUCT WARRANTY.

I’m not entirely sure how reinforceable something like this is considering no modifications are being made to the camera software, but it is something to be aware of. Maybe a dialog disclaimer in setup dialog or something?

Comments (17)

  1. Stefan B repo owner

    Hi Zach,

    thanks for looking into this. The SDK license however has a couple of terms inside that will need careful checking.

    Additionally the statement that connecting to a camera via the SDK voids the warranty is also concerning.

  2. Zach Hannum reporter

    The SDK license however has a couple of terms inside that will need careful checking

    For sure. I took a quick look and while I’m not an expert at legalese, the warranty issue seems to be the only major issue.

    Additionally the statement that connecting to a camera via the SDK voids the warranty is also concerning

    Yeah… I don’t really know what to do about this. I find it hard to believe that is enforceable in any way (how would fuji even know if you sent the camera to them for service or something). This sort of stuff is very far from my area of expertise, though.

    Either way, I will be continuing development on adding support, if not at least for my own personal use. I do hope that we will be able to figure out a way to merge this in eventually.

  3. Dale Ghent

    Licenses like this are unfortunately all too common. Note that anyone wishing to challenge the terms must do so on FujiFilm Global’s home turf and only under arbitration. This is typical and serves as a legalese form of “fuck off” that many companies put into their EULAs. As person taking point on this, you can try contacting Fuji USA’s digital imaging support to ask for clarification of that clause and explain how it does not foster use of their software or cameras beyond staid forms of photography. It’s best to keep the questions specific so that they can (hopefully) render specific answers.

    https://fujifilm-x.com/en-us/repair-and-product-support/#contact_us

  4. Zach Hannum reporter

    Good stuff, thanks. Disappointing but not entirely surprising. What’s ironic to me is that based on my experience in the professional software development world, the level of scrutiny placed on code on open source projects such as this is often greater and with more detail than many “professional” applications.

    I did also find this page on their SDK website that provides some contact emails that may be a more direct line to those that can offer answers: https://fujifilm-x.com/global/special/camera-control-sdk/contact/

    Don’t know how receptive they are to individuals vs businesses though.

    Edit: Well, I shot a message over to the SDK email, so we’ll see how that goes I guess.

  5. Simeon

    Hey @Zach Hannum are you still working on this?
    I have been using my X-T1 and X-S10 with the File Camera for quite a while and just saw that you started integrating the SDK. I didn’t think anyone would start developing this anytime soon, so thanks a lot already for putting your time into this!
    If I can get over my concerns with the EULA I’d love to try this out and help with testing. Did you hear back from Fujifilm?

  6. Zach Hannum reporter

    I’m glad to see some interest in this! Unfortunately, EULA concerns kind of killed any hope of this getting pulled into any official NINA releases, I would think. I had a few leads trying to get a response from Fujifilm, but none of them panned out. I haven’t had the time to continue pushing on that front, so unless someone else wants to figure that side of things out or Fujifilm decides to update it’s agreement, getting true Fuji support will probably stay sidelined, which is a shame.

  7. Simeon

    It really is a shame how they handle it. Why even bother offering their SDK under these conditions that don’t help anybody…
    I guess they only license it this way to ease access to it for potentially paying business customers while completely shutting out the open source community? I was really happy when they initially released the SDK, thinking they might finally open up their camera system (as they seem to be doing with lenses), but this EULA issue immediately seemed like a red flag to me.

    What was your angle when contacting them?
    Id like to think that improving support for Fujifilm cameras in astro software would open the market for them to at least a few more potential customers. Mirrorless astrophotography, especially with APS-C sensors doesn’t exactly have many options at the moment.
    Even though the X-Trans CFA isn’t exactly optimal for AP, I’m quite happy with the low light performance of my X-S10.

    I’m really not into legal stuff but if the only thing that's holding you back is this EULA situation I will try as well to get in contact with them.
    Do you want to talk a bit more on Discord? (Simeon#2241)

  8. Tim

    Hi @Zach Hannum

    I’m extremely interested in this. I’ve been using Astroberry on a Raspberry PI 4 with KStars, EKOS, and the Indi drivers to control my Fujifilm X-T4. It’s been alright, but I’d like to get off of the PI and on to Windows with NINA for astrophotography.

    It doesn’t look like I can do that yet, even though the Fujifilm SDK has been out for a while now.

    I understand the EULA issue, and was wondering if it would be possible to release a separate branch or version (or personal branch) of NINA with the Fujifilm support built-in like you may have been working on?
    I mean, it’s not really an issue for those of us who aren’t covered by the warranty anymore anyways, or for those who just don’t care. I wouldn’t let that stop you from doing something so many people would love.
    Also, it’s not like using the indi drivers and such isn’t any worse.

    I love the X-T4, and want to keep using it, but this kind of stuff is so off-putting. Is there any way you could move forward with native support, at least in another off-version of NINA with the proper warnings and such? It would be so appreciated, and I’m willing to help test or lend a hand however I can.

    Thanks!

  9. Dale Ghent

    In addition to what Stefan says, just “not caring” does not absolve one from the terms imposed by FujiFilm’s license terms regarding the 3rd party redistribution of it. As an extension of NINA, Stefan could very well receive a C&D requiring him to block the plugin from use. So it’s generally expected that any plugin or extension to NINA responsibly follow the terms of any 3rd party components it may utilize because the blast radius of any claim can certainly reach beyond the infringing plugin itself.

    Perhaps Fuji’s terms regarding redistribution of their software has favorably changed, or you may be able to secure permission from Fuji to redistribute their SDK.

  10. Tim

    It seems fine to implement in NINA. It is meant for individuals, so if it's part of software it doesn't apply:

    "FOR INDIVIDUALS, PLEASE NOTE USING THIS SDK TO CONNECT TO, OR CONTROL, ANY COMPATIBLE FUJIFILM CAMERA, WILL VOID THE CAMERA'S LIMITED PRODUCT WARRANTY. Therefore, we recommend that only experienced software developers and qualified technicians download and use this SDK for development. Download is subject to the terms of the Software Development Kit End User License Agreement."

    Having it built in or as a plug for software is fine.

  11. Zach Hannum reporter

    Obligatory IANAL, but I think the relevant bit of the TC for distributing the SDK is here:

    Subject to the terms and conditions of this Agreement, Fujifilm hereby grants to you a limited, non-exclusive, non-transferable, and royalty-free license to;


    (b) sell, sublicense, provide, or distribute the Library and any modified or merged version thereof to the Customer ONLY in the form of being incorporated into the Digital Imaging System in object code format; provided that you shall impose substantially the same obligations under this Agreement on such Customer and shall be responsible for your Customer’s performance and compliance; and

    With the caveat being the “shall impose substantially the same obligations”, those obligations being that using said SDK will void a products limited warranty.

    Seems to me that a Plugin using the SDK can just impose these restrictions to anyone who would want to use the Plugin, and make it very clear prior to downloading the Plugin that said restrictions exist.

    Of course if @Stefan B or any of the other Repo maintainers don’t agree with this, that’s totally fine. But I am happy to implement Fujifilm support as a Plugin.

  12. Stefan B repo owner

    The latest N.I.N.A. Beta offers exportable interfaces and UI hooks to provide custom plugin drivers.

    [Export(typeof(IEquipmentProvider))]
    public class FujiProvider: IEquipmentProvider<ICamera> {
      [ImportingConstructor]
      public FujiProvider([whichever importable interfaces you need]) {
        // your ctor impl.
      }
    
      public IList<ICamera> GetEquipment() {
        // your code to scan for fuji cameras and return a list of FujiCameras with your specific implementation
      }
    }
    

    Furthermore you can export a Datatemplate with the key <Fully Qualified Device Type TypeName>_CameraSettingsto add custom settings for your camera.

    These interfaces and changes can be accessed with the latest beta nuget: https://www.nuget.org/packages/NINA.Plugin

  13. Simeon

    Great news Stefan!
    Zach - I’d love to help testing the Plugin should you find the time to develop it.
    I’m planning to do more astrophotography in the next months and the Fujifilm integration would be a great help!

  14. Zach Hannum reporter

    That is great news!

    I plan on working on this once I have some more free time. Once I have a plugin repo up and running I will be sure to share it here.

  15. Log in to comment