Not your fault, I'm sure I was being unclear; you can monkey with class dbtext database files with a text editor for data mods, deletes, undeletes, record additions and so on. They're specifically designed to make that easy and less error-prone. It's just that you can use the database engine for delete and undelete as well.
But sqlite is on a totally different level of reliability; the fact that it is at the core of the iPhone's data management points to the level of confidence that people have in it.
Wait a sec... That's not reliability; that's confidence. Reliability is a performance metric; confidence is not. I suspect — looking at some relevant SQLite pages — that dbtext might actually be more reliable, because my bug list is at zero and has never moved off zero since release, though it is used thousands of times every day just in my own venues. I have no idea how much others use it, though.;-)
Nope, not a troll. An offering of useful features; PD is a superior distribution mechanism for end users in terms of the freedoms that attach to the project, that's all.
Your imagination, not to put too fine a point on it, has failed you.
You are going around saying that the GPL has restrictions on use. It does not
Yes, in fact, it does.
I have come across a snippet of GPL'd source code. I want to use it in my gigabyte of source code commercial app, which, prior to such inclusion, is legally mine to distribute, which is a use I make of this object, that is, my application. However, as quite common in commercial efforts, I cannot legally distribute the source code of my application. So, one day I use the GPL'd source code by compiling said GPL source into the commercial app. I mod it to better suit my use of it. My app is suddenly subject to a change in usability, imposed by the GPL, such that I no longer have the option of using the same way (which act can also be characterized as distribution) to earn money, and my customers no longer have the option to use my altered application. This viral alteration of the usability of my application is entirely courtesy of the GPL. In order to reverse this alteration and keep the code snippet in use in the application, I must perform actions that I actually do not have the option of choosing due to previously existing obligations (essentially source code distribution.) The end result is that the GPL'd code cannot be used if the commercial application is to remain usable.
To be blunt, the word "use", (as well as all of its natural permutations) which you depend upon so heavily in your flawed analysis, doesn't have the limited meaning you wish it had — nor has it ever, or will it ever, have such a limited meaning. This is why your argument is specious.
...the licenser, who is free to refuse to fix the bugs or demand exhorbinate fees to do so. Same with new features or support.
To be fair, a proprietary licenser is also free to fix the bugs ASAP and well, provide such fixes for free, also to provide new features for free if they like. I do this all the time with a commercial application. A PD author also retains such freedom. These are not benefits that exclusively arrive via the GPL. And it is well to consider that with a GPL, PD or commercial application, one is free to demand money to fix something, to add features to it, to explain or teach its use, or even to simply use it. Doesn't mean you'll get it, but it doesn't mean you won't, either.
If you wouldn't do this to someone directly then giving code to someone else so they can do it is unethical.
I don't think you've really analyzed this far enough. Giving someone something, and then telling them what they can and cannot do with it, carries ethical problems in the form of imposing your will on someone else (and it also devalues the gift, in my personal opinion.)
"Here's a gift of a book; but you can only read it if you use LED lights." "Here's a gift of a cat; but you can only have it if you'll eat it." "Here's a gift of a some money, but you must spend it upon me."
You see? This is why the term "freedom" has always seemed to go so poorly with the coercive requirements that the GPL applies to the various recipients in the chain of "gifts."
Yeah, but it can actually store strange and exotic things like strings that have codepoints > 127.
Codepoints, eh? Cool!
Actually, dbtext, as is, can be made to store anything you like; this is a natural consequence of the fact that there are lots of fun and interesting ways to put codes of 8-bit and greater sizes into multiple 7-bit containers, including approaches that maintain readability for the base ASCII set.
I will grant you, however, that such exotic and deeply complex programming feats may be beyond your own abilities. In that case, and presuming you want to store such objects, dbtext is surely not for you. I am deeply, deeply saddened. Well, not really. But you can think so if you like.
Or... and I know this is a crazy, crazy idea... if you need such a thing, you could always ask the author if they would be willing to implement it for you. They might do it. Sort of boggles the mind, doesn't it? Polite and respectful human interaction. Seems... wrong, somehow, doesn't it?
Having a db that is human readable can be a good thing--and a bad thing (anyone can change its contents manually?). Being small is a good thing. But even if you are doing embedded programing, is 800k such a burden that you would give up this feature set?
Sure, it can be. For instance, adding 800k of stuff to your application means that you are giving up control. You might have the source (which is going to be somewhat larger in this case)... but do you have the time to dig into it if there's a problem? Does reporting the problem necessarily mean it's even going to get fixed? For instance, I've reported many problems to various authors, some of which got fixed, some didn't. Likewise, adding a feature can be non-trivial with a large (source code) project. Compare that to a very lightweight thing that, let's say, almost does what you want but you just need feature X. Might be a whole lot easier to add that to a 20k "almost-there" set of source than megabytes of source, is that not possible?
Distribution of a class module with a python app is an entirely trivial thing to do. For that matter, you can take the class and put it in the same file with your application if that appeals, giving you the advantages of atomic distribution -- harder for an end-user to separate things and make whole app, as you handed it to them, fail to work.
And I suppose the elephant in the room is that the end user may have no need for the features. I sell a commercial program with features not available in other programs in the same general application space, functionality-wise; that doesn't mean it will sell to anyone on that basis unless they actually need those features, right? In this specific case, based on the article, the needs described seemed to be met by what I'd written, and hence my post.
PostgreSQL whips the living hoo-ha out of SQLite; it is larger, but offers more features (sound familiar?) Yet SQLite has a place, as your advocacy clearly indicates. I would venture that the difference between SQLite and class dbtext is similar, just occupies another place on the size/features scale. In the end, the user, based on their requirements, may go "what a POS" and step up the ladder. From either one.
OK, dbtxt looks interesting, but SQLite is very stable
dbtxt also seems to be very stable. It's never failed for me, nor have I ever received any indication that it wasn't doing what it was supposed to do when used as indicated. Also -- as a user myself -- I'm quite interested in fixing it, should it turn out to have problems.
Also, just as an aside, If someone can explain cross-platform file locking in python to me in terms I can understand, and if python's ability to lock can be made to implement a reasonable form of "wait for lock to release", I'd like to add that as a feature, too. I found python's docs on locking to be more than a little opaque. I'm sure it's just me.
For most GPL projects, this is what it means. How is that unreasonable??
Did I say it was unreasonable? It's your code, you're free to put any conditions you want on it. I encourage you to do so. PD, GPL, BSD, commercial, etc., that's your call. With these choices come consequences to the end users of the application and/or the source code, though, and there's no squirming out of them.
What I said was that the GPL imposes "you're free to do as we tell you" conditions while holding up PD in contrast. Which is precisely accurate. PD doesn't impose such conditions; hence PD is a feature offered as compared to any GPL'd alternative. Since it is a feature that directly improves usability and lightens the conditions under which the user can sell, modify and redistribute the source code, I find it well worth mentioning.
fyngyrz, what's with the inflammatory anti-GPL remark that's not even relevant to the topic at hand?
First, it's a fact. If you aren't comfortable with it, lobby within the GPL community for changes. I'm not going to be responsible for your discomfort with accurate characterizations of the GPL's push of obligations onto end users of source code.
Secondly, the remark was 100% relevant, because the point I was making is that the software, being PD, offers considerably more freedom to the end user than offerings that arrive under the aegis of the GPL. This is a benefit that is extended specifically as a consequence of avoiding he GPL.
Third, I like to point out to people that PD is inherently a freer distribution method than that offered by the GPL. It is my hope that more PD projects will be made available by other authors as a result of my extolling the superior virtues of PD; and should that come to pass in any form, the effort was well worth it.
Lastly, why is it that you seem to saying the GPL should be immune to criticism? Did I, at any point, tell you that you weren't free to criticize PD, my software, or anything else?
Plus you've mischaracterized the GPL -- it remains free to *use* unconditionally, the strings are attached only to redistribution.
I haven't mischaracterized anything as far as I can see. The user can't redistribute GPL'd apps under certain conditions because of limits defined by the GPL. They can, however, redistribute class dbtxt under the same conditions, because it is PD, and no such limitations are imposed with PD distribution. This means (among other things) that under the GPL, improved functionality executables cannot be redistributed without the specified hoop-jumping, which impacts end users; class dbtext, however, can be redistributed any way you like including changing (or not) stuff and slapping the GPL on the result, if you were so inclined. It doesn't change the fact that the original remains PD. Freedom! Smells good, eh?
But you can do this with non-free software's source? I'm missing your point I believe.
Yes, you missed the point. You can do it with PD software, specifically with the software in the post that this thread depends from (class dbtxt.) PD source allows you more freedom(s) at the user end. GPL source allows you (a lot) more control at the author end.
You may think you're keeping it simple by using a flat file, but you're really not. It may be somewhat easier to manually edit, but it's also easier to screw up, and I've never heard of one with the ability to undo changes.
Class dbtxt includes the ability to undo changes, and features human-readbility for the flat database files. It's trivial and not error-prone at all to mod a database file to delete, or undelete a record, and of course you can do it through the database engine as well.
Care to tell me exactly what the user of GPL software is not free to do? Otherwise maybe you'd like to retract your casual FUD-spreading aside.
I can't legally utilize GPL'd source code within a commercial application without doing some very specific (and not always possible) things that the GPL license instructs me I must do. Any other ways I can help with your basic F/OSS education? I'll be here all day.
No, it isn't just that. It is used to show that what you are quoting is verbatim, for instance in cases where an assertion is unique, questionable, or worded unusually. This also works for obvious spelling errors, of course.
Here is a completely free (PD, not GPL-style "you're free to do as we tell you") database engine that will do what you have described thus far.
The database engine is about 19k bytes (not a typo), has no dependencies (other than Python itself), supports a useful subset of SQL so you can actually create flexible queries that produce well-sorted results from your database, and it works everywhere Python does, which is to say, it works pretty much everywhere. It's just as happy operating on a command line as it is on a web server. The results (the actual databases) are 100% portable from OS to OS. I use it on various linuxes, OS X, and Windows for tasks very similar to yours.
Comes with tutorial examples, sample databases and extensive docs. In a 13k (not a typo) archive.
I'm sure it's comforting dogma for an atheist like yourself to hold that your religion is the default state of mankind.
Are you high? I not only never said that, I no more have a religion than a bald man has a hairstyle. You're just being intentionally offensive now. Either that or socially retarded.
But the logical fallacy that comes from that--"you're either with us or you're with our sworn enemy"--is no more true for Atheism that it is true for Fundamentalist Christianity and Satanism.
No one is my sworn enemy unless they so swear, and I am unaware of anyone so doing. Even so, I can ignore it if I so choose. From the other angle, I'm no one's sworn enemy. If I were, they'd be a corpse. Atheism isn't about being enemies, you silly person. It's about lack of belief in supernatural entities, with an emphasis on those who are given credence for having broad powers of creation. I don't believe in a god or gods.
Not at all. I'm simply posing a question that has only two answers - yes, or no: Do you believe in any singular god, or any set of multiple gods? The only valid, personally accurate answers to this are yes, or no. The only way to get to a third position is to be too uninformed about your own opinion to be able to answer at all; which is to say, to be very, very stupid. Most people aren't that badly off.
So there's no valid third option for a properly functioning human being - these positions are polar.
I can firmly believe there is no god of any kind (unprovable).
...which makes you atheist: Without belief IN a god or gods...
I can firmly believe there is no christian god (plausible but unprovable).
This is not even an indirect answer to the question "do you hold a belief in a god or gods." Excluded. I'd just ask again: "do you believe in a god or gods?"
I can firmly believe Thor, God of Thunder does not exist (more plausible but not provable).
same -- not an answer to the question. I'd just ask again: "do you believe in a god or gods?"
I have no 'supernatural being detection skills' and so I have no opinion
No opinion == no belief, I suspect, hence atheist; if not, then you're not answering the question.
What you're doing here is trying to over complicate the situation. Either you believe in a god or gods, and so are theist, or you don't, and so are atheist. Squirming around won't help you. Everyone either falls into camp A, or camp B. Within those camps, there are many outlooks; but they are divided by belief, or lack of it. Declared "agnostics" want to pimp why they don't believe. They think it makes lack of belief more acceptable. And perhaps it does. But what it does not do is declare belief.
A church is the same thing to an agnostic as it is to me. A building towing along various social and architectural characteristics. A prayer is the same thing to an agnostic as it is to me. Words towing along various social, literary and poetic characteristics. Fear of god, hell, purgatory -- same thing to both of us. Nonexistent. Expectation of heaven, rewards, angels, seeing one's dead relatives, friends, pets -- nonexistent.
These things predicate upon belief, and nothing else. Not why one believes; but simply if one does or not. An atheist will say: No, don't believe. Or they might say, I believe the entire idea of god/gods is silly. An agnostic will give you a lecture about how they don't know, or they don't care, at the end of which (if you have the patience to put up with it) there is no belief to be found. Agnostics are basically atheists who are unwilling to declare, or driven to explain their positions.
Answer this question directly: Do you believe in any singular god, or any set of multiple gods?
"None" would mean that there is no evidence of any kind that is ever valid for scientific verification.
Right. That's how much there is for the proposition that there is a god or gods. None. I see you claim "there is some"; ok, fine. What is it? The world is waiting.
You just need a disclaimer and the declaration of the PD gift.
With PD code, you *do* own the code. Everyone owns the code. So you can do anything you want. Now that is good manners.
Everything in your power, eh? Flying to Washington tomorrow, are you? I'll keep an eye on CNN. :-)
Not your fault, I'm sure I was being unclear; you can monkey with class dbtext database files with a text editor for data mods, deletes, undeletes, record additions and so on. They're specifically designed to make that easy and less error-prone. It's just that you can use the database engine for delete and undelete as well.
Ew.
Link doesn't work... ?
Wait a sec... That's not reliability; that's confidence. Reliability is a performance metric; confidence is not. I suspect — looking at some relevant SQLite pages — that dbtext might actually be more reliable, because my bug list is at zero and has never moved off zero since release, though it is used thousands of times every day just in my own venues. I have no idea how much others use it, though. ;-)
Nope, not a troll. An offering of useful features; PD is a superior distribution mechanism for end users in terms of the freedoms that attach to the project, that's all.
Your imagination, not to put too fine a point on it, has failed you.
Yes, in fact, it does.
I have come across a snippet of GPL'd source code. I want to use it in my gigabyte of source code commercial app, which, prior to such inclusion, is legally mine to distribute, which is a use I make of this object, that is, my application. However, as quite common in commercial efforts, I cannot legally distribute the source code of my application. So, one day I use the GPL'd source code by compiling said GPL source into the commercial app. I mod it to better suit my use of it. My app is suddenly subject to a change in usability, imposed by the GPL, such that I no longer have the option of using the same way (which act can also be characterized as distribution) to earn money, and my customers no longer have the option to use my altered application. This viral alteration of the usability of my application is entirely courtesy of the GPL. In order to reverse this alteration and keep the code snippet in use in the application, I must perform actions that I actually do not have the option of choosing due to previously existing obligations (essentially source code distribution.) The end result is that the GPL'd code cannot be used if the commercial application is to remain usable.
To be blunt, the word "use", (as well as all of its natural permutations) which you depend upon so heavily in your flawed analysis, doesn't have the limited meaning you wish it had — nor has it ever, or will it ever, have such a limited meaning. This is why your argument is specious.
To be fair, a proprietary licenser is also free to fix the bugs ASAP and well, provide such fixes for free, also to provide new features for free if they like. I do this all the time with a commercial application. A PD author also retains such freedom. These are not benefits that exclusively arrive via the GPL. And it is well to consider that with a GPL, PD or commercial application, one is free to demand money to fix something, to add features to it, to explain or teach its use, or even to simply use it. Doesn't mean you'll get it, but it doesn't mean you won't, either.
I don't think you've really analyzed this far enough. Giving someone something, and then telling them what they can and cannot do with it, carries ethical problems in the form of imposing your will on someone else (and it also devalues the gift, in my personal opinion.)
"Here's a gift of a book; but you can only read it if you use LED lights." "Here's a gift of a cat; but you can only have it if you'll eat it." "Here's a gift of a some money, but you must spend it upon me."
You see? This is why the term "freedom" has always seemed to go so poorly with the coercive requirements that the GPL applies to the various recipients in the chain of "gifts."
Codepoints, eh? Cool!
Actually, dbtext, as is, can be made to store anything you like; this is a natural consequence of the fact that there are lots of fun and interesting ways to put codes of 8-bit and greater sizes into multiple 7-bit containers, including approaches that maintain readability for the base ASCII set.
I will grant you, however, that such exotic and deeply complex programming feats may be beyond your own abilities. In that case, and presuming you want to store such objects, dbtext is surely not for you. I am deeply, deeply saddened. Well, not really. But you can think so if you like.
Or... and I know this is a crazy, crazy idea... if you need such a thing, you could always ask the author if they would be willing to implement it for you. They might do it. Sort of boggles the mind, doesn't it? Polite and respectful human interaction. Seems... wrong, somehow, doesn't it?
Sure, it can be. For instance, adding 800k of stuff to your application means that you are giving up control. You might have the source (which is going to be somewhat larger in this case)... but do you have the time to dig into it if there's a problem? Does reporting the problem necessarily mean it's even going to get fixed? For instance, I've reported many problems to various authors, some of which got fixed, some didn't. Likewise, adding a feature can be non-trivial with a large (source code) project. Compare that to a very lightweight thing that, let's say, almost does what you want but you just need feature X. Might be a whole lot easier to add that to a 20k "almost-there" set of source than megabytes of source, is that not possible?
Distribution of a class module with a python app is an entirely trivial thing to do. For that matter, you can take the class and put it in the same file with your application if that appeals, giving you the advantages of atomic distribution -- harder for an end-user to separate things and make whole app, as you handed it to them, fail to work.
And I suppose the elephant in the room is that the end user may have no need for the features. I sell a commercial program with features not available in other programs in the same general application space, functionality-wise; that doesn't mean it will sell to anyone on that basis unless they actually need those features, right? In this specific case, based on the article, the needs described seemed to be met by what I'd written, and hence my post.
PostgreSQL whips the living hoo-ha out of SQLite; it is larger, but offers more features (sound familiar?) Yet SQLite has a place, as your advocacy clearly indicates. I would venture that the difference between SQLite and class dbtext is similar, just occupies another place on the size/features scale. In the end, the user, based on their requirements, may go "what a POS" and step up the ladder. From either one.
dbtxt also seems to be very stable. It's never failed for me, nor have I ever received any indication that it wasn't doing what it was supposed to do when used as indicated. Also -- as a user myself -- I'm quite interested in fixing it, should it turn out to have problems.
Also, just as an aside, If someone can explain cross-platform file locking in python to me in terms I can understand, and if python's ability to lock can be made to implement a reasonable form of "wait for lock to release", I'd like to add that as a feature, too. I found python's docs on locking to be more than a little opaque. I'm sure it's just me.
Did I say it was unreasonable? It's your code, you're free to put any conditions you want on it. I encourage you to do so. PD, GPL, BSD, commercial, etc., that's your call. With these choices come consequences to the end users of the application and/or the source code, though, and there's no squirming out of them.
What I said was that the GPL imposes "you're free to do as we tell you" conditions while holding up PD in contrast. Which is precisely accurate. PD doesn't impose such conditions; hence PD is a feature offered as compared to any GPL'd alternative. Since it is a feature that directly improves usability and lightens the conditions under which the user can sell, modify and redistribute the source code, I find it well worth mentioning.
First, it's a fact. If you aren't comfortable with it, lobby within the GPL community for changes. I'm not going to be responsible for your discomfort with accurate characterizations of the GPL's push of obligations onto end users of source code.
Secondly, the remark was 100% relevant, because the point I was making is that the software, being PD, offers considerably more freedom to the end user than offerings that arrive under the aegis of the GPL. This is a benefit that is extended specifically as a consequence of avoiding he GPL.
Third, I like to point out to people that PD is inherently a freer distribution method than that offered by the GPL. It is my hope that more PD projects will be made available by other authors as a result of my extolling the superior virtues of PD; and should that come to pass in any form, the effort was well worth it.
Lastly, why is it that you seem to saying the GPL should be immune to criticism? Did I, at any point, tell you that you weren't free to criticize PD, my software, or anything else?
I haven't mischaracterized anything as far as I can see. The user can't redistribute GPL'd apps under certain conditions because of limits defined by the GPL. They can, however, redistribute class dbtxt under the same conditions, because it is PD, and no such limitations are imposed with PD distribution. This means (among other things) that under the GPL, improved functionality executables cannot be redistributed without the specified hoop-jumping, which impacts end users; class dbtext, however, can be redistributed any way you like including changing (or not) stuff and slapping the GPL on the result, if you were so inclined. It doesn't change the fact that the original remains PD. Freedom! Smells good, eh?
Yes, you missed the point. You can do it with PD software, specifically with the software in the post that this thread depends from (class dbtxt.) PD source allows you more freedom(s) at the user end. GPL source allows you (a lot) more control at the author end.
Yes, that's pretty much what I said, only with more details. What's your point?
Class dbtxt includes the ability to undo changes, and features human-readbility for the flat database files. It's trivial and not error-prone at all to mod a database file to delete, or undelete a record, and of course you can do it through the database engine as well.
I can't legally utilize GPL'd source code within a commercial application without doing some very specific (and not always possible) things that the GPL license instructs me I must do. Any other ways I can help with your basic F/OSS education? I'll be here all day.
That's all I have for ya, offhand. ;-)
No, it isn't just that. It is used to show that what you are quoting is verbatim, for instance in cases where an assertion is unique, questionable, or worded unusually. This also works for obvious spelling errors, of course.
Actually, you can't count on that. Google it for details.
Can't be Java... well, how about Python?
Here is a completely free (PD, not GPL-style "you're free to do as we tell you") database engine that will do what you have described thus far.
The database engine is about 19k bytes (not a typo), has no dependencies (other than Python itself), supports a useful subset of SQL so you can actually create flexible queries that produce well-sorted results from your database, and it works everywhere Python does, which is to say, it works pretty much everywhere. It's just as happy operating on a command line as it is on a web server. The results (the actual databases) are 100% portable from OS to OS. I use it on various linuxes, OS X, and Windows for tasks very similar to yours.
Comes with tutorial examples, sample databases and extensive docs. In a 13k (not a typo) archive.
Are you high? I not only never said that, I no more have a religion than a bald man has a hairstyle. You're just being intentionally offensive now. Either that or socially retarded.
No one is my sworn enemy unless they so swear, and I am unaware of anyone so doing. Even so, I can ignore it if I so choose. From the other angle, I'm no one's sworn enemy. If I were, they'd be a corpse. Atheism isn't about being enemies, you silly person. It's about lack of belief in supernatural entities, with an emphasis on those who are given credence for having broad powers of creation. I don't believe in a god or gods.
Not at all. I'm simply posing a question that has only two answers - yes, or no: Do you believe in any singular god, or any set of multiple gods? The only valid, personally accurate answers to this are yes, or no. The only way to get to a third position is to be too uninformed about your own opinion to be able to answer at all; which is to say, to be very, very stupid. Most people aren't that badly off.
So there's no valid third option for a properly functioning human being - these positions are polar.
This is not even an indirect answer to the question "do you hold a belief in a god or gods." Excluded. I'd just ask again: "do you believe in a god or gods?"
same -- not an answer to the question. I'd just ask again: "do you believe in a god or gods?"
No opinion == no belief, I suspect, hence atheist; if not, then you're not answering the question.
What you're doing here is trying to over complicate the situation. Either you believe in a god or gods, and so are theist, or you don't, and so are atheist. Squirming around won't help you. Everyone either falls into camp A, or camp B. Within those camps, there are many outlooks; but they are divided by belief, or lack of it. Declared "agnostics" want to pimp why they don't believe. They think it makes lack of belief more acceptable. And perhaps it does. But what it does not do is declare belief.
A church is the same thing to an agnostic as it is to me. A building towing along various social and architectural characteristics. A prayer is the same thing to an agnostic as it is to me. Words towing along various social, literary and poetic characteristics. Fear of god, hell, purgatory -- same thing to both of us. Nonexistent. Expectation of heaven, rewards, angels, seeing one's dead relatives, friends, pets -- nonexistent.
These things predicate upon belief, and nothing else. Not why one believes; but simply if one does or not. An atheist will say: No, don't believe. Or they might say, I believe the entire idea of god/gods is silly. An agnostic will give you a lecture about how they don't know, or they don't care, at the end of which (if you have the patience to put up with it) there is no belief to be found. Agnostics are basically atheists who are unwilling to declare, or driven to explain their positions.
Answer this question directly: Do you believe in any singular god, or any set of multiple gods?
Go on, you can do it. Just answer. Yes, or no. :-)
Right. That's how much there is for the proposition that there is a god or gods. None. I see you claim "there is some"; ok, fine. What is it? The world is waiting.
You're atheist. A person without belief in a god or gods. See how easy that was?