Subscription Model Q&A

Dear all,

As you will have seen, PTB is moving over to a subscription model for macOS and Windows for the 3.0.20 release onwards.

Details can be found at the following links:

https://psychtoolbox.discourse.group/t/action-needed-to-save-psychtoolbox/5674/2

This thread is in place to answer any questions you might have about the new model. The Team will also be adding answers to commonly asked questions here.

We strongly encourage you to have a look at the information in the above links to help support Psychtoolbox going forwards.

The Psychtoolbox Team

1 Like

Hey dear PTB-devs and friends!

Can you tell us how long the Early Bird discount is available?

I need to do some calculations as I currently use PTB for teaching and that might add up to a LOT of money for licenses, which I don’t know if I can afford. Thank you!

Best,
Roland

A question about nodes for the subscription model. We currently deploy programs built with Psychtoolbox to multiple personal computers so that our study participants can train at home on their own device. These programs are built with the Matlab Application Complier. Would each instance of this deployment also need its own node licenses, and will the subscription license work within a compiled application?

Thank you!

  • Matt

Hi Roland,

The longer term aim is to have “site licenses” or equivalent. For reasons (which I will not go into here) this is not currently possible. However, we are hoping to get this avaliable as soon as is feasible.

I also teach using PTB and the university wants students not to have to pay for licenses for things. As such, the 6 seat maximum license is not as good solution for that scenario at a school/department/university finance level.

FYI: the pre 3.0.20 PTB versions will continue to work license free. Obviously not with native Apple Silicon support (or further updates and bug fixes). But this will ensure working PTB for applications like teaching whilst the transition to the new model occurs. From my experience Rosetta 2 works just fine for teaching applications.

This thread will be updated as soon as larger seat licenses are avaliable.

Take home messages: (1) any pre 3.0.20 PTB will continue to work as is. (2) the immediate aim is to ensure the continued existent of PTB with the new model. (3) “site licenses” or equivalent are on the map.

I will check about the “early bird” deal and when it expires.

Peter

2 Likes

I asked on the release but this is more appropriate here: Fastspring in theory accepts Alipay and WeChatPay, the two totally dominant payment methods on the Chinese mainland, but these are not offered at checkout for PTB licences.

I suspect it is because they do not support recurring payments (and WeChat needs some additional checks or something, but AliPay doesn’t). I’m not sure how this tradeoff would pay off, but this certainly limits purchase options here. Fastspring does accept UnionPay so there is some viable way to make payments now, though when I tried to use my Unionpay card (which certainly had enough money) there was a system error…

TLDR: please try to support AliPay if you possibly can for China mainland.

AliPay gets offered as payment method if you uncheck the - checked by default - checkbox “Securely save payment details for automated subscription renewal” in the store. This creates non-auto-renewing / manual rebill subscriptions which require manual payment → A payment reminder is sent out a bunch of days before the subscription runs out. Both AliPay and WeChat don’t allow for automatic rebilling/auto-renew. The checkbox thing is true for other non-auto-rebill payment methods as well, e.g., money checks, wire transfers, IDEAL in the Netherlands… The checkbox thing is a bit non-intuitive, I had to ask FastSpring sales, couldn’t figure it out from the docs or their “AI” chatbot.

WeChat only gets offered upon vendor request, and after some additional vendor security and risk assessment by FastSpring. Not sure what that involves, or why it involves us as vendor at all, given that we are not involved in any way in the payment processing. Maybe it is somehow about the products a vendor offers and under which terms, ie. more a requirement of WeChat themselves about what products can be purchased via WeChat? I’d sure like to offer it, but I’d first like to show FastSpring that we are valuable customers and not a drag on their system, so maybe a little later, after some revenue and also profit for them was generated.

Is AliPay the more popular one for purchases by universities, compared to WeChat or Wire transfers or credit cards etc.?

Yep, that’s what they claim. Your payment via UnionPay was denied via error “Credit Card Declined (Soft) DECLINED_SOFT, Proc=104 UNKNOWN CARD”, but that’s all we and FastSpring know about it. See Declined and Cancelled Payments - Apparently it’s something caused by your payment processor / bank. Apparently retrying might help, as on such a “soft decline”, FastSpring will try to route the same payment through some other payment processor.

Apart from your declined payment, I’ve seen a declined Visa credit card payment from Japan, where the payment was soft declined twice in a row within 2 minutes by the card issuing bank (reason “Suspected fraud”), but then a 3rd try with exactly the same card in the same way worked just 2 minutes later. I guess it is the wonderful world of machine learning based fraud detection and risk assessment… And possibly persistence is key.

So its utterly possible that UnionPay rejection was just a fluke…

As a interesting side note: I assumed that China should have quite a few users of Psychtoolbox, and finding a Merchant of Record that can actually sell to China was one important goal for me. But looking at the free trial statistics over almost 2000 trial activations, it turns out to my surprise that China seems to be our biggest user base, with almost 28% of all activations! The USA follow at ~20%, UK at ~8.5%, Germany at ~6%, Japan at ~5% and then it is a very long tail of Canada, Italy, India, South Korea, Australia, other EU countries, middle and far east, followed by many other countries of the world.

Hi team
I’m looking at getting ~20-30 licenses for my extended lab group. I’m not sure if this counts as the site-license, but is the simplest / only way to do this to buy 4 or 5 of the 6-seat licenses?
thanks
nic

Hi Nick,

Yes, unfortunately that is currently the only route. Licenses with seats for >6 are a top priority, but currently not possible. It is being worked on (I promise).

This is not ideal, but the key aim is to see PTB exist in terms of development into the future. It has been a big mission to get here.

Peter

Yes, as long as a receipt can be generated. Wire transfers are really complex and admin’s can just refuse to try, and credit cards here are only UnionPay (no other card “brand” exists here). In general there are some restrictions for international purchases, and for purchases over €100, more checking needs to be performed.

I hope my experience was just a one-off (as a foreigner there are some opaque limits when trying to use my Chinese bank cards for international purchases), and not a more general problem with UnionPay + Fastpring. I just used my European cards instead…

There are a lot of PTB users here, however tapping into that userbase is challenging. Many labs here run on much lower budgets than US/EU labs, and admin hurdles makes international purchases harder. Most installs of PTB are on Windows, but usually on something incredibly outdated by some student who left the lab and as long as it still works, it remains untouched. To best access users here, most science equipment brands have registered resellers who can market and optimise for chinese payments etc. An additional problem is software piracy remains common. I think a Chinese entity, and some representation in Chinese conferences would help to raise awareness for supporting PTB.

Question about Open Source and what is covered by the license

  • Psychtoolbox will continue to be completely open source
  • All of the .m Matlab files will run “as is”, even in the 3.0.20 and beyond releases
  • The licensing covers the compiled Psychtoolbox mex files, which are the heart of stimulus presentation, timing, response collection etc.

Currently Psychtoolbox on Linux will not be licensed, but this may change in the future dependent upon the success of the new funding model.

The new funding model was needed to make the development of Psychtoolbox financially viable into the future. Two previous routes for voluntary donations and paid user support offerings having been completely unsuccessful.

To support Psychtoolbox, purchase licenses at the following link:

Yes. Each instance would consume one node activation, e.g., the license key of a six seat license would be good for six such instances.

In theory yes, in practice that’s something to find out.

The Matlab application compiler was not ever an officially supported thing with Psychtoolbox and I haven’t tested that use case in years. I even only have very limited access to that compiler toolbox, given our abysmal funding so far was also insufficient for purchasing Matlab + toolbox licenses, and Mathworks sponsors us some very limited license, and we get what we get. That said, if the proper license management libraries and config files are also bundled inside that app, it should work. And then there’s the thing about one-time user consent for online licensing, another configuration file needed, but not stored inside Psychtoolbox, but per user account, so that would need some code modification, and then there is the license key itself that would need to be online activated on first use on a study participants computer - something that would need another line of code added to the top of your main script. So it won’t work unmodified as is, but it should be possible with a bit of extra config/effort to make it work. I think technically you’d also have to add something to your user consent forms informing them that Psychtoolbox will phone home on first use, and then occassionally, transmitting some data about their computers, ie. the stuff one can read on the data protection statement and higher level info text that is displayed on first use of a new v3.0.20+ Psychtoolbox. Not super-sensitive stuff, mostly the user-given name of the computer and its IP address at time of server sync, or which operating system + version, Matlab version, Psychtoolbox version is in use.

For which operating systems do you deploy?

Hi Mario -

Thanks for the reply, it is very informative. We develop primarily on MacOS. We’ve tried to avoid the M-series chips but obviously that is becoming harder as our intel computers start to age out. But we deploy for any version of Mac or Windows that our participants might have, though again have had to avoid the M-series thus far. We are starting to explore web-based deployment to streamline this for a variety of reasons, though that tends to be a more expensive option.

Ok. Wrt. web-based, there is VPixx service to run Psychtoolbox based experiments from within a web browser, with the expected limitations wrt. timing, precision etc. I guess that might be one convenient option wrt. Psychtoolbox:

I played a bit with the application compiler packaging thingy on my Apple Silicon MacBookPro. I can’t test under totally realistic conditions, as I would need another clean machine without any Matlab installed, which I don’t have. But running a packaged app - which will then install into Matlab on my machine and run from within in - it should work with the new licensing. The Psychtoolbox/PsychBasic/PsychPlugins folder and its subfolders needs to be included in the packaged app, as that contains most stuff for licensing. Also Psychtoolbox/PsychLicenseHandling.m . Probably best to include the whole Psychtoolbox folder with all files, especially so that PsychImaging() works, which itself is absolutely required for Apple Silicon Mac support. The PsychLicenseHandling('Activate', 'LICENSEKEY'); function would need to be added at the very top of your main experiment script/function, with LICENSEKEY being the license key of your license, so the license gets activated on the participants machine on first launch of your packaged app. The last obstacle would be that a “user consent” file needs to exist under the path [PsychtoolboxConfigDir 'LMOpsAllowed.txt'] to signal that a user consents to use of online license management and PTB “phoning home” periodically. Normally this file gets created during setup if the user answers the consent question positive. See lines 290-295 of PsychLicenseHandling.m. It could make sense to add some setup code to PsychLicenseHandling.m in a future PTB release, that checks if a script isdeployed() and then tries to copy a LMOpsAllowed.txt file from the PsychtoolboxRoot() folder to the above path. This would allow to store a consent file inside the deployed app if that is ok, according to your subject informed consent procedure… As I said, I can’t easily test this under totally realistic conditions, but this should likely work on a clean machine.

Hello team PTB,

I have a logistics question. Our lab PC is normally offline and I plan to connect it to wi-fi manually once a month to keep the PTB license active. What do I need to do once the PC is online? Would just opening MATLAB suffice?

Hi,

I do not know the exact answer, that would be for the developer of PTB @mariokleiner.

However, from a little play I think this would need you to open Matlab and call a PTB function that depended on the mex files. When I do this I get information about the license outputted to my command window, some of which relates to off internet use time remaining.

Thus, I running a demo like “DriftDemo” would work.

I would assume any of the compiled mex files (not just those related to “Screen”). These are the ingredients which are subject to the license. The standard .m files in PTB are not. Anyhow, @mariokleiner will be able to confirm for sure.

My apologies for the uncertainty. It has been a monumental effort to get this off of the ground in order to save Psychtoolbox going forwards.

Peter

1 Like

Yes, Peter is right. Running any Psychtoolbox mex function that prints the licensing status info will trigger an initial server license sync. While Matlab/Octave stays active, the license manager will do a server sync every 4 hours by default - it is a configurable setting that can be reduced to hourly check ins.

Wrt. being offline, how long PTB allows offline use is a setting configurable per license, and here’s the deal:

  1. Our description of the subscription plans you can currently buy states “up to 120 days of offline use by default”.

  2. A brand new license allows 30 days offline use. This is a hard limit imposed by PTB 3.0.20. Any larger offline limit would make the mex files fail, and right now we have 1964 machines still on PTB 3.0.20, and it would be a bad user experience for buyers of a license if PTB 3.0.20 would immediately shut down as reward for buying a license, and force them to immediately upgrade. So that’s why we start with “safe” 30 days offline.

  3. If you install PTB 3.0.21 or later, then we can set any offline limit we want on your license, which is why I strongly recommend everybody upgrade from 3.0.20 to 3.0.21 asap. I’m considering pulling all 3.0.20 release zip files, to prevent new users from accidentally downloading these old 3.0.20 releases. Although hopefully everybody will just always install the latest version.

My intended plan while there are still 3.0.20’s out there is to periodically run a script on my side (which I still have to write) that checks if a license is used with only PTB 3.0.21 or later, and bump up the offline limit to 120 days if that is the case. But immediately after activating a license the limit will be 30 days.

The offline limit is a protection for us against fraudulent customers, the longer the offline limit, the less protection for us against abuse, so I’ll probably adjust that, once we know how people generally behave.

However, the online sync is also a way to offer some potentially interesting services to you in the long term. E.g., PTB 3.0.21 allows me to convey some simple one-line text messages to you, for important news or useful advice, maybe in the future even context driven: E.g., if I’d know you are using the license with Apple Silicon Macs and there’d be a new PTB release with significant improvements, I could text message those users with a short one-time announcement about the benefit of upgrading to the latest PTB. Or similar stuff…

These messages are only pulled during a server sync. Not fully thought through, but could be valuable to our paying users in the future. Also, the sync may allow for some interesting new way of user support.

1 Like

Hi @pscarfe and @mariokleiner – huge thanks for the explanation and for all the work you do. While I’d like a longer offline limit, it’s barely an inconvenience to get online and run a demo once in a while. Good luck with the new system! Hope we can get more licenses down the road :slight_smile: