21,790 karma · joined October 15, 2012
The reason this should sound dubious is that you're suggesting the caller needs to know the callee's body in order to know how to call it, but it should be possible for the two to be compiled entirely independently, and in fact mutual recursions should be fine too. After all, the callee knows where the return value has to land either way, and the caller similarly knows where to expect it, regardless of when/how the object is constructed or destroyed.
In RVO there is no problem because you know what object is the one you need to put there.
In NRVO there is a problem because you might have one of multiple objects being returned and you need to know which one to construct at the call site; it can't be all of them on top of each other. But you don't necessarily know at the time of construction whether that object will be the one that is actually returned. Doing so requires imperfect code analysis so the standard would need to define the complicated analyses to perform.
This sounds wrong, are you sure? Would you mind demonstrating with an example on godbolt? Whether NRVO applies or not, the ABI should be the same, AFAIK.
I'm not seeing "if not {this}... then {that}" implication anywhere that you're citing. i.e. I do not see anything that implies at least one of the billing systems must be permitted for any given app. All I'm seeing are some sets of conditions under which you can use Google's payment system, and other sets of conditions under which you can use an alternative billing system. Sometimes they overlap and sometimes neither applies.
What's clear to me is:
- Page [1] says that you can't use their billing systems for "tax-exempt donations" (however that is supposed to be interpreted).
- Google's last correspondence says "For more information about alternative billing and external linking options available in some countries and regions, see the FAQ", and does not claim that such options are (or aren't) available to them. Page [2] says that this varies by country, and it's not clear to me what countries apply to them, but they seem to be in Japan. I am unclear on what they have/haven't done here, but it sounds like they have not followed all the requirements in [3] (or whatever the relevant requirements are), as [1] says: "Developers serving users in eligible countries/regions may offer users an alternative billing system within the app if they enroll in the applicable program and agree to the additional terms and program requirements."
I'm not sure if you have more information beyond this, but that's all I'm taking away so far. Perhaps I'm missing something?
And obligatory disclaimer (because this is HN): none of this is to suggest I like these circumstances; I'm just discussing the facts as I see them written.
[1] https://support.google.com/googleplay/android-developer/answ...
[2] https://support.google.com/googleplay/android-developer/topi...
[3] https://support.google.com/googleplay/android-developer/answ...
> Nonprofits have strict tax regulations when accepting donations. The more a payment processing system can assist with these regulations, the better for you and your donors. For instance, donors need to receive specific documentation for tax-deductible contributions, such as donation receipts. Additionally, different types of donations may involve different tax considerations for the donor and the organization. Nonprofits also have to consider any state and federal regulations regarding their charitable solicitation and fundraising activities, which may vary depending on location and activities.
And there's of course also exemption from sales tax which they have to handle too.
[1] https://www.subsplash.com/blog/nonprofit-payment-processing#...
Then you're not understanding anything I'm writing, and I don't have the energy to keep going.
All I'm saying is that you need to pick your battles carefully and be honest about your goals if you want to have a fighting chance of winning this war against general-purpose computing. I want to win this just as much as you. I don't want to lose it, and I certainly don't want to lose it in a dumb way. Dying on the wrong hill during the wrong battle because people on my side constantly lie, exaggerate, and otherwise misrepresent reality and turn away would-be supporters is probably the dumbest way to see this happen, and it should make you angry, if you actually want some success in what you're doing.
I will leave you with https://queue.acm.org/detail.cfm?id=3818307.
Convoluted, yes, but fake? Aren't you just repeating the same lie? That means it looks like it bypasses the verification but doesn't actually do so. What are you basing that off of?
Having to deal with bookkeeping or paperwork for tax deductions could also make things harder.
In any case, whether you think these are easier or harder, and regardless of which cases should be supported from a business perspective, their policy page (at least the one that I'm reading) very clearly says you can't use their system for such donations.
"Block[ing] every Android app whose developer hasn't registered with Google, signed their contract, paid up, and handed over government ID. Every app and every device, worldwide, with no opt-out"
...would be "really bad" in my view.
Which is probably exactly why they worded it that way, despite knowing fully well they are (rather blatantly) lying. They literally explained how to avoid it themselves further down below, after you've already been angered.
I don't know every jurisdiction, but that's not the only relevant factor. If they are tax-deductible, they still introduce the need for paperwork etc. for the payment processor to let the payer deduct it from their own income. A 0% tax on some action doesn't imply you don't have to worry about tax law when performing said action.
Though I think you can just read the policy and take it at face value and not even have to know any of this beforehand.
In this case they clearly have to exempt this transaction from sales tax in order to support it, when other transactions through their system do get sale tax applied. So the mere fact that they have to deal with sales taxes in general is likely to introduce additional complications for them even here, in cases where sales tax turns out not to be applicable.
This feels like complaining about the color of the bikeshed, me saying you should save your complaints for when things get really bad, and you replying "things are really bad already, there is a rotten carcass in there and the roof leaks."
Okay, so let's keep complaining about the color then.
From another angle: why/how do you feel the tax-exempt-mess of the recipient itself could sensibly be the determining factor here, rather than the taxability of the transaction itself? Is there any law or precedent or anything outside their emails that would suggests a payment processor should look at the tax status of the recipient rather than that of a transaction?
I have no clue what you're referring to or worried about here, could you clarify? Are you worried Android is going to lose power users to iPhone? What are the alternative shops you're referring to here? We're not buying pastries.
> The developers in F-Droid are verified, just not by Google.
"Unverified" in my comment was a shorthand for "unverified by Google", not an insult.
> Google is not the be-all and end-all, but with this power-play, they are making themselves that.
The complain about that? Rather than wasting time complaining about the 24h wait?
I don't know if people's imaginations are lacking here, but there could easily be a world in which your 'alternative' verifier would still make you wait 24h (or longer). The wait is clearly a security mechanism, regardless of who makes you do it. (And yes, it could have been chosen for plausible deniability.) Is your actual problem the wait itself, or is your actual problem the identity of the entity making you do it, or is your actual problem that the power is too concentrated in one entity, regardless of the entity? These are very different issues with very different solutions.
I really don't. That is, actually, my entire point: people are going to roll their eyes at this right now. And then you're going to lack/lose the supporters you'll need when things really get bad.
Indeed I have not. In fact I haven't even heard of people doing this until your comment. And that's before unknown app developers coming into the picture. I assume you do this to avoid border phone searches? And you feel the (ostensibly) security-related mechanisms for the rest of the world to be centered around this use case? Meaning the rest of the world should pay the cost to their own security to cater to this flow?
>> Wait 24 hours
>> Pick "allow temporarily" (7 days) or "allow indefinitely
Geez. I don't like what they're doing either but this fear-mongering is not helping your cause. So the "trap door" here is just that you can't buy a phone and immediately start loading apps from unverified developers onto it until 24h have passed? Of all the hills we could be dying on, that's the one we're picking?
> Note: 501(c)(6) is a tax-exempt status; donations are not tax-deductible for the donor. Google's communications explicitly state "tax-exempt".
Isn't it pretty obvious that the problem is the donations aren't tax-exempt, despite the organization being tax-exempt? Your note suggests you already understand this.
Logically, the payment processor (who deals with sales taxes rather than income taxes) should worry about the taxability of the transaction rather than the tax status of the recipient, right?
> Specifically, your app allows users to contribute donations to an organization that is not tax-exempt.
So whoever is writing their email is mixing these two up, but you're reading the policy itself and it is fairly clear-cut what it means for you, right?
Also note that being able to access arbitrary objects (as opposed to objects in the same array) requires storing two pieces of information: an index and a pointer to the beginning of the array. So it can use twice as much memory, which affects your cache etc., though you don't even need that to see the effect.