nirimda
Afaik the FSF agrees with your dichotomy and expresses the latter opinion. Take for instance their faq "You cannot incorporate GPL-covered software in a proprietary system. ... However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and nonfree programs communicate at arms length, that they are not combined in a way that would make them effectively a single program. The difference between this and “incorporating” the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can't treat them as two separate programs. So the GPL has to cover the whole thing."
In another question, they address the notion of what might be considered a single combined porogram. "It depends on how the main program invokes its plug-ins. If the main program uses fork and exec to invoke plug-ins, and they establish intimate communication by sharing complex data structures, or shipping complex data structures back and forth, that can make them one single combined program. A main program that uses simple fork and exec to invoke plug-ins and does not establish intimate communication between them results in the plug-ins being a separate program.
"If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins. If the main program dynamically links plug-ins, but the communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return, that is a borderline case.
"Using shared memory to communicate with complex data structures is pretty much equivalent to dynamic linking."
So I don't think that the FSF intends that you can use a technical means to escape linking. You cannot take a GPL library and write a pair of libraries which expose its functions via a socket because the result would almost certainly involve "function calls to each other and share[d] data structures".
https://www.gnu.org/licenses/gpl-faq.html
As to whether this puts into jeopardy anyone in particular who uses Linux or libmysql in proprietary systems without additional licences, well, that is a different matter. The FSF's interpretation of the GPL tells you something about when the FSF might sue you and about what revisions might be made to the GPL in the future. But it doesn't tell you about when the copyright holders of Linux or libmysql might sue you, or what they will do if there's a GPL v5.2 released tomorrow.
As far as I know, the FSF takes the view that linking is a logical concept not a technical one, and so communicating via IPC is just as much of a problem as loading a program into your own addressable memory.
> This conclusion is absurd: therefore, our premises are wrong.
I don't think you've demonstrated that it's absurd. For instance, it could be that MySQL does not believe it is a problem, and does not intend for it to be a problem, and will never sue for it - but that MySQL is wrong as a matter of law, and one day the FSF will sue someone in court and win and the Oracle lawyers will realise they have new opportunities for financial gain. Personally, I think that reality is more like this - the FSF and Oracle have different ideas about what it means to release code under the GPL and so the freedoms you get from the FSF are different from the freedoms you get from Oracle, and it's unclear to me what will hold up in a court of law. I certainly don't think there's anything absurd about the notion that different agents have different intents and conflicting understandings. (Note that I take the notion of freedom to include the confidence that I won't be sued by a rational agent for doing something, regardless of whether I could plausibly win the case or not.)
> I know the industry behaves as if there were a difference, but legally, is there? Show me the case law.
I don't think it makes a difference whether the case law is there. The difference is made by whether you're willing to go to court over it. If there is a chance that you will win a case, and there is a chance that you will loose a case, and that if you lose the case you will have to spend the next six months on full time development just to get back where you were before hand, then you might say "even though my lawyers say there is an 80% chance that we will win, I would rather use this BSD alternative, because the risk of that 20% are existential".
So, fundamentally, this is a case of put your money where your mouth is. If you think the GPL does something different than what "industry" thinks it does, then make your business, make your millions, and dare someone to sue you. No one else has an obligation to do that just because you haven't seen the case law.
> I don't have permission to have it on my machine except by following the rules of the LabVIEW license. I don't need permission to have libmysql.so
Btw, here you have a false premises. You don't have permission to copy libmysql.so except by the terms of the licence. I think you've made a mistake. Let's go back. You said "I can already freely copy libmysql from system to system in either source or binary form. The GPL grants me permission to do that." But now you're claiming that the GPL's grant of permission is so absolute that you don't need the permission that it grants. In fact, the terms of the licence are limited, and the question is only to what extent they are limited.
In any case, there is one important consideration. And that is the intent of the FSF. If the terms of the GPL fail to have the legal consequence they intend, and they can modify the GPL to have the legal consequence they intended, then you can be sure they will. And if Oracle has a different intent, and likes the legal consequences that the GPL has, then they might continue to use the unchanged licence. But arguing about whether the GPL does to the FSF's code what the FSF wants the GPL to do is more about arguing about whether it is buggy, then arguing about the feature set. You are well advised to listen to the FSF's interpretation if you want to rely, indefinitely into the future, on an up-to-date version of the FSF's code. But the FSF's interpretation might not really be as important when it comes to Linux or MySQL or any of the other GPLed code bases out there.
In the early days of the internet, few enough companies wanted to advertise on the internet - advertisers viewed it already as targeted at a certain segment of society - so advertisements were generally very low value i.e. crap. Tracking technology let advertisers know that they could actually find the people didn't realise were using the internet. But nowadays we all know everyone is on the internet, and we tend to use the same sites regularly, so you could get adequately targeted ads (as a set of eyeballs - not necessarily as an advertiser) just by using the internet.
It's clear that the abolition of the death penalty isn't actually all that relevant to this scenario. We can still judge whether or not shrx was the sovereign of his territory or not.
For instance, going back to the "about the size of Singapore" example, OP might try to find a nice perch next to some critical strait, and sink any vessel that passes through which is registered in a country that doesn't recognise them. But if OP gets too good at this, then the US Navy will be upset and start shooting their weaponry at OP. If OP manages to sink a few of USN's vessels, it's possible USN will say "well we will stop shooting you if you let through our vessels", but I wouldn't hold my breath.
It's probably just cheaper and easier to marry into a royal family from some small country that whose royals still have a political power, like Brunei or Liechtenstein, then secretly start a secret murdering spree until your newborn is the only royal left and they offer to make you regent, then launch a self-coup against your own six month old.
On the other hand, I gave up some kinds of requests. For instance, I used to try "start directions home" when I was driving and it would say "here's a route I found, do you want to start (or some such)" and there would be no way to actually start the directions home without breaking the very expensive law against touching your phone while driving. Does that work today? I don't know, because I've mostly been driving with Android Auto in the last few years and my wife's been in the car on the rare occasion I haven't. But it seems like the Assistant team could straightforwardly improve it.
Nowadays, I think menu options in user interfaces are much rarer, and complex stateful applications are usually HTML web programs where the disabled flag is a hint to the web browser to reject the interaction. Some of these web programs color submit buttons in a washed-out version of the normal color until the form is fully validated, but they will report the reason (to a greater or lesser utility) when clicked - such a widget is not formally disabled to the computer engineer, it's just presented to look like one. I find this subtle distinction frustrating, because it represents an ambiguity of thought that makes precise conversation difficult. Why should a widget ever reject interaction? A widgetset/toolkit is just a medium for dialog between a user and the developer, and they should always be allowed to communicate. A software developer should be able to say "hi widget set, please let the user know this button doesn't make sense at the moment" but they should not be allowed to say "hi widget set, if the user wants to tell me something - i don't want to know it, just throw it away. we're not on speaking terms" (They could, of course, completely ignore the user, but it's intuitively obvious that they shouldn't completely ignore the user. Most developers intuitively want to communicate the reason for the error if they know it's possible for a button to be clicked when they can't handle it, but they often get frustrated because the UI designer didn't clearly indicate to them how they should communicate errors - but perhaps they them what they shouldn't do and now they are stuck).
I liked the option 5 mockup in the link, although I'm not so sure it works for actions (like shooting) so much as state toggles (like activating the weapon). I do strongly disagree with the reasoning at the end of the page "it's okay to break the rules for a piece of software that people often use", because it's 100% a case of "rules for thee but not for me". Aside from the fact that I might have been using Outlook until I changed jobs to a new one (and there's a lot of people who only use Gmail unwillingly/primitively and attempt to use the phone and Teams and Slack and meatspace for their communication needs), it's exactly the most commonly used programs that set the norms for users and software developers. We know how to communicate because we imitate previous dialogues. If the most commonly used programs get to break the rules because some of the people who use them use them dozens of times a day whereas others only want to use the features once a week or two and only manage to use them once a month or so, then the members of both parties will come to the view that cryptic software is fine - one because they use it all the time and have no problem, and the other because they see that hard-to-understand software is highly regarded. And so the designer of a widget designing tool will say "no, it's fine for the widget to show only when it's available, because the people who use this widget-designing software will almost always be using it daily, and they'll only have to learn it once at the beginning of their career". Are they correct? Who knows. At this point it's just a position in the design space by the user interface designer.
I think part of the problem here is that "high-density UIs" gets used in multiple ways. Some designers, perhaps not those with ready access to users, take high-density UIs to refer to the markings on the screen. A button with borders next to a text field with borders is considered to be higher density than a button without borders next to a text field without borders, because the borders visually divide the field up. And if the border lines provide an affordance (e.g. a button pushed up), then that's complexity (because the lines have different colors, which is more complex than a design where lines all have the same color).
But such an interpretation goes against the research of the 80s and 90s. I have never been directed to evidence that "complexity" and "density" refer specifically to visual complexity and visual density as distinct from conceptual complexity and conceptual density or widget complexity and widget density - all the evidence I've ever come across (as in the old evidence, or the medium post by another descendant comment of my parent comment) suggests that visual complexity and density actually operate to clarify conceptual/widget complexity/density.
So I think the claims made by practitioners need to inspected and made more precise. What kind of complexity and density are they trying to resolve? And what evidence do they have that this specific kind of complexity and density is problematic, rather than clarifying?
In principle, you could have some kind of configuration that says "try to commit this for so long, but if you can't commit it by then just abort". But you haven't really solved the manual retry problem, just made it somewhat less likely to occur.
As far as I know, given the costs of a request, most database servers tend to use the latter approach. But in SQLite requests are very much cheaper, and at least part of SQLite's work happens in your thread, so it goes for the former approach. But from an end programmer's perspective it's only a quantitative difference, not a qualitative one.
Also, "the database" is a highly ambiguous term, but in SQLite it can really only refer to a file on disk. There's no database server, it's just a library that you call to manipulate the file. So who even is the database server? Maybe it's the code you're writing. Maybe it's you who should be handling this stuff. And that's SQLite's decision, and fair enough too. SQLite isn't trying to be a database server, it never offered to be a database server, and you shouldn't think it's a database server. You should think of it as a library for executing SQL queries against a file that holds a relational database. If you think that's tantamount to being a database server, then consider what you normally mean by "server". Is a library for manipulating zip files tantamount to an FTP server?
The technologies for resolving America's problems are well understood - majority decision making, parliamentarism, representation and participation of electoral minorities rather than inhibiting the work of the majority, a narrower scope of judicial review and/or a more flexible constitution. But as long as people say, as you do, "it isn't the thing that caused the problem that is the problem, it is some fancy gadget that is the problem", then you will be unable to solve the problems
Remember that even though people misleadingly call Google and Facebook tech companies, they are in fact advertising companies; and although people speak of news companies, they have generally seen news, opinion and analysis as tools for connecting eyeballs to advertising i.e. they're effectively advertising companies. This bill is about the direct competition between the two kinds of advertising companies - traditional, ~domestic companies with close and personal ties to the people who govern vs new, foreign companies who don't have such essential ties to politicians as journalists do.
If it were literally just about the provision of news, then Canada and Australia fund the CBC/RC and the ABC/SBS so why would they be so fussed? There are people who today make a living from podcasts and substacks who could not make money from traditional advertising/media companies. News would be provided.
(In fact, just to bring the point home, the original version of Australia's equivalent bill didn't allow the ABC and SBS to participate, because as government-funded media organisations they didn't suffer from the transition of advertising from news-sponsoring to tech-sponsoring in the same way as private companies.)
For the few people who distrust Google enough to install LineageOS or some such, they probably distrust Google enough to not care too much about not using Google. Who is in this sweetspot where they want (i.e. install and use, not merely aspire to installing and using) a custom ROM but having no access to proprietary Google APIs is a bridge too far?
According to https://www.ons.gov.uk/peoplepopulationandcommunity/populati... there's about 1.2% of the people in each age group <17 in England, which means 1.2*17 ~= 20 of the people in the England are ineligible for a drivers licence. So there's only about 6% of people in the England who could have a full drivers licence, but don't. So either they give licences out in the cornflakes at Tescos, or almost the whole adult population of the UK wants a drivers licence.
Does this follow necessarily? If wage-earners have a fair degree of bargaining power or if wages are indexed, then the decrease in value of the lira will result in an increase in nominal wages. And in a condition of steady but substantial inflation, currency can be reduced to a medium of exchange rather than serving as a store of value - or in the case of contract negotiations, as an indication of the future value. Chances are, wage earners and others contracting for future delivery will just naturally take inflation into account when arranging the contract. Their payments might be in lira, but they way they set their prices is derived from the lira/euro exchange.
This is all basically what anti-inflation hawks mean when they say "we have to prevent inflation expectations hardening" etc. They want people to believe that a dollar today will have about the same value as a dollar next year.
So if you have a generally stable currency that depreciates and finds a new level, it might make the economy more competitive. If you have a currency that regularly varies, sometimes up, sometimes down, a depreciation might not mean much to its competitiveness (because an investor expects that the depreciation today has no relation to its value next year). And if you have a currency that is steadily declining, well, everyone has already accounted for that possibility so relative prices quickly adjust to return to the previous levels.
It is however possible to have multiple applications access the same sqlite database on the same filesystem (i.e. locally, not via network access, not via remounts or symlinks or other forms of synonyms) and it will sort out the locking for you. Depending on what you need to do, there's I think three possible strategies you can use so it can probably handle your concurrency needs faster than Postgres via the network can. For instance, this particular task is write-heavy, and it would benefit from a different setting than a read-heavy application.
There are certainly occasions when Postgres or MySQL or MS SQL or Oracle is a better choice than SQLite, and sometimes concurrency contributes to that decision. But it's unlikely to be the case that you had an SQLite solution that worked really well with one process reading and writing from the database, and now all of a sudden you need a second or third application to use the database concurrently with the first, and you find you need to switch to a client-server model And even if sometimes you need to take specific steps (like adopting a different locking model), you also have to take specific steps to run Postgres (e.g. using a pool to speed up connections and limit the number of concurrent connections because each connection is a separate process). It's a matter of knowing your tools.
If Australia is declining "like many other countries" as the PP said, then it might not be called out specifically. You can go to their graphing tools like https://v-dem.net/data_analysis/VariableGraph/ (this one focuses on a particular measure and shows you how it changes over time in different countries), enter the measure you want (for this I looked at "liberal democracy index") and some group of countries. I entered Australia and the G7 countries, and while there does seem to be a peak maybe 10-20 years ago for them all, it could easily be some artifact. On this basis, I would hardly agree with PP that there is a declining trend in Australia.
Btw - once you've selected an indicator, you can click its name (white on dark grey) the box under the box under the graph and find information on it. In this case, it tells you it's an aggregate of liberal and polyarchy. Those in turn are also aggregates but it comes back to expert survey data. With survey data, you probably need to change the scale to original scale because otherwise the values in the graph won't correspond to the description in the text.
Before that, there have been complaints about many legislative proposals in democracies that were directed against the possibility that such-and-such a policy might be used against the general public if an authoritarian government were elected. Nowadays, complaints against similar policies are provided as prima facie evidence that the government is authoritarian. I think the distinction between these two positions is interesting and worth paying greater attention to.
Anyone who is familiar with the history of democracies knows that there have always been laws against disruptive protests, whether couched in exactly those terms or otherwise. And they have always been used against disruptive protesters. One issue is that in a democracy you expect the law to reflect popular sentiment, and protesters are often protesting against the broader public. It's foolish to expect anything different. During the development of democracy, people said "there shouldn't be a law against this protest, but there is yet I will protest anyway and get arrested and people will find the penalty I will receive in their name unpalatable and it will shift public opinion perhaps moderately in my direction" whereas now they say "there shouldn't be a law against this protest, but there is, therefore we are an authoritarian hellhole".
If your goal is to change public opinion, then you must direct your actions to changing public opinion, not disrupting people. If you believe disrupting people will change public opinion, that's great but describe a realistic mechanism. Weight its tradeoff and risks. Plan it and strategise and choose a method because, given the laws that exist and the power centres that exist, it will be effective. Don't choose a method because some dead philosopher said you have a right to it. Aim to be effective.
There was no golden age of democracy. Democracy is just a struggle. It is a struggle to change public opinion and it is a struggle to bring public policy in line with public opinion.