"And the GPL followers would argue that the BSD license doesn't help protect anyone's freedoms, and is thus in fact equivalent to public domain - so why bother with the license at all ?"
The BSD license ensures that the developer will receive credit for the code that they wrote, as opposed to public domain where this is not necessary. This is all the developer is asking for - to give credit where it is due. I am unsure how one could argue that this is not free software. Look up the meaning of freedom. You will find it does not mean to impose your beliefs on someone else.
"Um, no. That would be patents. The GPL (and all licenses) refers to a particular speech - so it is saying "if you want to quote me on this, go ahead, but you must allow others to quote the resulting speech, too" - how is this not free speech ?"
Free speech generally means I can say what I want. If I quote somebody then I should give credit to that person FOR THAT PART I QUOTED (sounds very BSD like to me). The GPL says no, that is not enough. Because I have quoted that person, then my entire speech, even if 99% of it has nothing to do with the speech I quoted, MUST also become GPL'ed and be available to the public to use, even if I do not want it to be available to the public (I may be in negotiations and do not want the select few listeners to freely discuss my ideas with everyone they come across). This is not free speech at all. Free speech means I give credit to you for your work, I respect how you wish your work to be released, and any additions I make follow the rules that I wish to impose on them - what right have you got to tell me how I should release my additions? And if you do impose your will upon me, then no it is no different to commercial software and is not free in the slightest.
Something to ponder - how would the world be different if there was no GPL and all free software was licensed under the BSD license? This is a geniune question, not a point scoring excercise. Free software projects would continue - there is nothing to stop them. The free software would still be available freely from these projects, so it would not disappear. Technology quite possibly would advance at a faster rate as software vendors could take BSD projects and improve on them to produce some quite amazing products (OS X anyone?).
I am assuming you are ignorant of the BSD licenses, otherwise you would not be shooting your mouth off. Not all Free software requires that the derived software is also Free. This is where the philosophical arguments between the followers of the BSD style licenses and the GPL style licenses stem from. Just because you follow the GPL style of Freedom does not mean someone who follows the BSD style of Freedom is an "idiot or a troll".
The BSD followers would argue that the GPL imposes restrictions, and thus is in fact not free at all. Just because you happen to agree with those conditions does not mean that everyone else does. Yes, I know the counter argument - "well, if you dont like the conditions you dont have to use it". So I pose this question to you, in that case what is the difference between GPL'ed software and commercial software? The same point can be made just as validly for commercial software - "if you dont like the conditions dont use it". Just because the GPL is your preferred license does not mean that it is thus automatically a superior license.
GPL is not "freedom as in speech". Freedom as in speech means people can do whatever they want with what you have said (provided it is within the law). The GPL is more like "once you listen to what I say then anything you say on the same subject must now follow rules X, Y and Z" - this is NOT free speech at all
If you are looking at changing databases, you want to learn standard SQL before you touch Pear DB. Pear DB is nice, but wont help you much if your SQL statements are all MySQL specific.
If you want to learn a bit about PHP the OReilly book Programming PHP has a good chapter on Pear DB. It assumes you already know SQL so if youre after a primer on SQL look elsewhere, but if you want to know how Pear DB works its quite good.
No. If they don't like it, they don't have to sell it. I am tired of being an unpaid enforcer of their policies. Fact of the mater is they are introducing a product with an immature technology for protecting their interests. So they impose upon mine. Licensing be damned: I don't tell them how to spend the money used to purchase their product, so quit telling me how to use the product. If you don't like what I am going to do with a product, perhaps you shouldn't have sold it to me. Why should the onus be strictly upon me?
Oh good, if I dont like the terms of the GPL it is perfectly OK for me to close the source and sell it, as if you don't like what I am going to do with a product, perhaps you shouldn't have sold it to me / let me download it. Why should the onus be strictly upon me?
Because German Shepherds make great pets, whie big cats dont, just like OS X? I dunno...only thing I could come up with. Didnt make much sense to me either, but I quite liked their decision:)
Could not agree more. One of the strong points of OO is reusability of code. This is achieved through each class taking care of itself, in total ignorance to how it is being used. Taking the shopping cart example (looking further I would just have a cart.add() method, rather than addItem() for reasons explained below).
item.addToCart() Item object must know that it is being added to a cart. Item object must internally in the addToCart() method call Cart methods to add itself anyway - how else will the Cart have the object added to it? Modifying the way Cart is implemented will mean any object that adds itself to a Cart must also be changed. As in your example, what happens when we have an inventory? Shipment? What if we also sell services? We end up with an addToCart() method in class Item and an addToCart() method in class Services. A change in class Cart will create a lengthy hunt through all the other classes to see if they require changing - the problem OO was meant to solve. And we havent even touched on the nightmare that results if we subclass Item and override addToCart() (a very real possibility considering the many types of items that are likely to be in the system).
cart.add(item) Item need not know that a cart object even exists. add() method can be overloaded to also accept Services objects for services rendered - Services class need not know that Cart object exists. Changes to the implementation of Cart class will not require modification of any other classes.
I always try to visualise objects in terms of how they behave in the real world. An item has properties eg price. A cart has properties eg numberOfItems. The purpose of a cart is to store items, hence the method add(item). The purpose of an item is not to add itself to a cart, hence the method addToCart() should not exist in the item class. I can understand why getters / setters should be viewed with caution as read-only properties should never have a setter method, and write-only properties should never have a getter, but not using them at all tends to defeat the purpose of OO. Just my humble opinion
Re:Getters/setters bad?
on
Holub on Patterns
·
· Score: 2, Insightful
"In a good OO system, other objects never ask for information about other objects, they simply ask the other object to perform tasks"
At some stage you will have to get some data from an object. Very simple example, lets say you are writing up a shopping cart. Add item objects to the cart. How will this cart keep track of the subtotal without querying the item objects as to their price? OK, we have: cart.add(item); At some stage the cart object will have to call: item.getPrice(); Very simple example, but I am curious how this shopping cart would operate if the item was never queried to find out its price?
Good question, and one that many of us often wonder.
The general answer is that it is because music costs money, while GPL'ed software doesnt. This view makes no sense. Let me expand.
If you take the view that copying GPL'ed software is bad but music is OK, you are generally disagreeing with the degree of freedom of said product. GPL is available for free (monetary free) while music is available upon the condition of payment - thus the advocate of copying music claims they reject the conditions under which they may obtain the music. What if I reject the conditions under which I can obtain GPL'ed software? What if I believe that all software should be licensed under the BSD license. Does that mean that I can take GPL'ed software and not release the source code because I personally reject the GPL as being too harsh in its restrictions?
You cant have it both ways - either you abide by the license and conditions under which you obtain an item, or you, and everyone else (you cant have one rule for yourself and another rule for others) has the right to reject licensing conditions when they see fit. Agreeing to the GPL involves accepting that you must release your source code. Agreeing to obtain music involves agreeing to pay a specified amount to obtain that music. No difference.
The author of a piece of work, whether it be software or music, has the right to determine what conditions they wish to release their work under. It is only fair that the end user follows those conditions.
These "tough new gun laws" were introduced in Australia in what? 1996 or so? Since then the economy has improved, and the general standard of living has improved (and no Im not a Howard fan before you stoop as low as accusing me of that;) ). Maybe as people earn more they can afford these guns that were too expensive to buy before? Now before I try taking too many cheap shots (excuse the pun), I totally agree that it is a complex issue - I would suggest that social problems cause crime, and criminals will obtain firearms irrespective of whether or not they are illegal (criminals are strangely enough not too bothered whether they break the law by definition). Because of this I would argue that gun laws will have minimal impact on gun related crime and instead to stem gun related crime other factors are in fact far more influential.
We have had many depressed economic times in the past, recession in early 80s comes to mind, and didnt have a marked increase in gun related crimes even though semi automatic rifles were available at K-Mart (oh for the good old days where you could buy ammunition at your local department store *sigh*).
Lets not let facts get in the way of feeling good about ourselves.
There is a slight problem - gun related crime has INCREASED in Australia since the "tough new gun laws" were introduced. Registered firearms have very rarely been used in crime in Australia - as far as I recall only ONE registered handgun has ever been used in a murder in Australia. Generally crime is committed using unregistered (illegal) firearms, fancy that.
Re:open-source vs. suitability to task
on
Learning PHP 5
·
· Score: 1
"If it's open source and clumsy, it will can always evolve into something better"
So you would be happy if your bank lost money from your account due to clumsy free software, just so they could use free software out of principle?
Right tool for the right job. In some circumstances the development team dont have time to wait for the software to mature, nor do they have the resources to help develop said software. They have to work with something that is mature and stable NOW. If that happens to be commercial, so be it.
"Plus, on such a PC, even if you install Windows, you're a bit better off, because there was some competition with the hardware "
I have just switched from GNU/Linux and Windows to OS X. Please explain to me how I was better off before? I honestly dont care if the hardware is open or not. As a desktop OS, OS X leaves both Linux and Windows for dead.
"Apple makes good stuff, and they would be HUGE if they sold it properly -- in a way which allows you to buy the apple whole or in slices"
No. People buy Apple products for the entire package. That everything works beautifully together. If you start splitting it up, then things start not working as expected. Until you experience using OS X you really dont know what youre missing.
"What part of 'BETA' fails to catch you attention?"
I am assuming that as it is beta you have been advising people not to use it? Make up your mind - if it is production ready (and the mozilla.org website says nothing to indicate otherwise) then it is quite valid to criticise bugs in it, if it is in beta testing, then it should NOT be recommended for everyday use by the average user.
No, a gun is a killing machine. Dogs were bred for many purposes, only fighting dogs (eg Pitt Bull Terriers) were bred for their killing prowess. A dog is no more a killing machine than a human is. Both will use whatever tools they have at their disposal if they deem they require it (a human will use a gun, a knife, a dog uses its teeth). So you have had several fatal dog attacks in Boston - out of a dog population of what? How many homocides have you had in the same time period? I will go out on a limb here and suggest you are more likely to be killed (per population) by a human than by a dog.
"If -you- have any small children, you're pretty much guaranteeing an dog attack if the dog isn't very patient or you've encouraged any aggressive behavior"
You are not guaranteeing anything. It all comes down to how much you socialised the dog when it was a puppy.
"such as not recognizing family members anymore"
Pardon? I have NEVER come across a dog that has forgotten a family member, even after months or even years of the family member living elsewhere. No matter how old or what temperament.
"go through obedience school with the dog"
Couldnt agree more. Besides the dog getting trained, you learn a lot about your dog that you wouldnt otherwise.
"Most dogs end up there because they have issues that most normal families can't deal with"
No, most dogs end up there because their previous owners were total idiots who deserve a kick in the head.
You are mixing a good working dog with a family pet. If you want a good working dog, then yes you go to a breeder (as I have done with my last pup). If you want a family pet then you can generally find some very good ones from the local pound who will devote their life to you as they know what you have done for them. In the past we have had a few, and you could not ask for a more devoted companion (should also be noted that they lived to a ripe old age).
This may come as a shock to you, but the pound does not breed dogs, just as the pound does not purchase puppies off puppy mills. Perhaps you care to explain how rescuing a dog encourages these puppy mills?
The GPL does deny freedoms to others - the freedom to choose the licensing of their choice for the code THEY wrote.
A free society is one where all beliefs are respected, not one where one group forces their beliefs onto another.
"And the GPL followers would argue that the BSD license doesn't help protect anyone's freedoms, and is thus in fact equivalent to public domain - so why bother with the license at all ?"
The BSD license ensures that the developer will receive credit for the code that they wrote, as opposed to public domain where this is not necessary. This is all the developer is asking for - to give credit where it is due. I am unsure how one could argue that this is not free software. Look up the meaning of freedom. You will find it does not mean to impose your beliefs on someone else.
"Um, no. That would be patents. The GPL (and all licenses) refers to a particular speech - so it is saying "if you want to quote me on this, go ahead, but you must allow others to quote the resulting speech, too" - how is this not free speech ?"
Free speech generally means I can say what I want. If I quote somebody then I should give credit to that person FOR THAT PART I QUOTED (sounds very BSD like to me). The GPL says no, that is not enough. Because I have quoted that person, then my entire speech, even if 99% of it has nothing to do with the speech I quoted, MUST also become GPL'ed and be available to the public to use, even if I do not want it to be available to the public (I may be in negotiations and do not want the select few listeners to freely discuss my ideas with everyone they come across). This is not free speech at all. Free speech means I give credit to you for your work, I respect how you wish your work to be released, and any additions I make follow the rules that I wish to impose on them - what right have you got to tell me how I should release my additions? And if you do impose your will upon me, then no it is no different to commercial software and is not free in the slightest.
Something to ponder - how would the world be different if there was no GPL and all free software was licensed under the BSD license? This is a geniune question, not a point scoring excercise. Free software projects would continue - there is nothing to stop them. The free software would still be available freely from these projects, so it would not disappear. Technology quite possibly would advance at a faster rate as software vendors could take BSD projects and improve on them to produce some quite amazing products (OS X anyone?).
I am assuming you are ignorant of the BSD licenses, otherwise you would not be shooting your mouth off. Not all Free software requires that the derived software is also Free. This is where the philosophical arguments between the followers of the BSD style licenses and the GPL style licenses stem from. Just because you follow the GPL style of Freedom does not mean someone who follows the BSD style of Freedom is an "idiot or a troll".
The BSD followers would argue that the GPL imposes restrictions, and thus is in fact not free at all. Just because you happen to agree with those conditions does not mean that everyone else does. Yes, I know the counter argument - "well, if you dont like the conditions you dont have to use it". So I pose this question to you, in that case what is the difference between GPL'ed software and commercial software? The same point can be made just as validly for commercial software - "if you dont like the conditions dont use it". Just because the GPL is your preferred license does not mean that it is thus automatically a superior license.
GPL is not "freedom as in speech". Freedom as in speech means people can do whatever they want with what you have said (provided it is within the law). The GPL is more like "once you listen to what I say then anything you say on the same subject must now follow rules X, Y and Z" - this is NOT free speech at all
"Linux making huge inroads into the desktop market"
I have been looking for the source code to DB2. As IBM has fully embraced F/OSS I am sure you can point me to the location to download the source?
Bummer, missed out on her tute by a few years :(
If you are looking at changing databases, you want to learn standard SQL before you touch Pear DB. Pear DB is nice, but wont help you much if your SQL statements are all MySQL specific. If you want to learn a bit about PHP the OReilly book Programming PHP has a good chapter on Pear DB. It assumes you already know SQL so if youre after a primer on SQL look elsewhere, but if you want to know how Pear DB works its quite good.
Oh good, if I dont like the terms of the GPL it is perfectly OK for me to close the source and sell it, as if you don't like what I am going to do with a product, perhaps you shouldn't have sold it to me / let me download it. Why should the onus be strictly upon me?
Because German Shepherds make great pets, whie big cats dont, just like OS X? I dunno...only thing I could come up with. Didnt make much sense to me either, but I quite liked their decision :)
Could not agree more. One of the strong points of OO is reusability of code. This is achieved through each class taking care of itself, in total ignorance to how it is being used. Taking the shopping cart example (looking further I would just have a cart.add() method, rather than addItem() for reasons explained below).
item.addToCart()
Item object must know that it is being added to a cart. Item object must internally in the addToCart() method call Cart methods to add itself anyway - how else will the Cart have the object added to it? Modifying the way Cart is implemented will mean any object that adds itself to a Cart must also be changed. As in your example, what happens when we have an inventory? Shipment? What if we also sell services? We end up with an addToCart() method in class Item and an addToCart() method in class Services. A change in class Cart will create a lengthy hunt through all the other classes to see if they require changing - the problem OO was meant to solve. And we havent even touched on the nightmare that results if we subclass Item and override addToCart() (a very real possibility considering the many types of items that are likely to be in the system).
cart.add(item)
Item need not know that a cart object even exists. add() method can be overloaded to also accept Services objects for services rendered - Services class need not know that Cart object exists. Changes to the implementation of Cart class will not require modification of any other classes.
I always try to visualise objects in terms of how they behave in the real world. An item has properties eg price. A cart has properties eg numberOfItems. The purpose of a cart is to store items, hence the method add(item). The purpose of an item is not to add itself to a cart, hence the method addToCart() should not exist in the item class. I can understand why getters / setters should be viewed with caution as read-only properties should never have a setter method, and write-only properties should never have a getter, but not using them at all tends to defeat the purpose of OO. Just my humble opinion
"In a good OO system, other objects never ask for information about other objects, they simply ask the other object to perform tasks"
At some stage you will have to get some data from an object. Very simple example, lets say you are writing up a shopping cart. Add item objects to the cart. How will this cart keep track of the subtotal without querying the item objects as to their price?
OK, we have:
cart.add(item);
At some stage the cart object will have to call: item.getPrice();
Very simple example, but I am curious how this shopping cart would operate if the item was never queried to find out its price?
Good question, and one that many of us often wonder.
The general answer is that it is because music costs money, while GPL'ed software doesnt. This view makes no sense. Let me expand.
If you take the view that copying GPL'ed software is bad but music is OK, you are generally disagreeing with the degree of freedom of said product. GPL is available for free (monetary free) while music is available upon the condition of payment - thus the advocate of copying music claims they reject the conditions under which they may obtain the music. What if I reject the conditions under which I can obtain GPL'ed software? What if I believe that all software should be licensed under the BSD license. Does that mean that I can take GPL'ed software and not release the source code because I personally reject the GPL as being too harsh in its restrictions?
You cant have it both ways - either you abide by the license and conditions under which you obtain an item, or you, and everyone else (you cant have one rule for yourself and another rule for others) has the right to reject licensing conditions when they see fit. Agreeing to the GPL involves accepting that you must release your source code. Agreeing to obtain music involves agreeing to pay a specified amount to obtain that music. No difference.
The author of a piece of work, whether it be software or music, has the right to determine what conditions they wish to release their work under. It is only fair that the end user follows those conditions.
I suppose next you will say Saddam wasnt behind Sept 11?
Youre ignoring the main point - Saddam was behind Sept 11 ;)
These "tough new gun laws" were introduced in Australia in what? 1996 or so? Since then the economy has improved, and the general standard of living has improved (and no Im not a Howard fan before you stoop as low as accusing me of that ;) ). Maybe as people earn more they can afford these guns that were too expensive to buy before? Now before I try taking too many cheap shots (excuse the pun), I totally agree that it is a complex issue - I would suggest that social problems cause crime, and criminals will obtain firearms irrespective of whether or not they are illegal (criminals are strangely enough not too bothered whether they break the law by definition). Because of this I would argue that gun laws will have minimal impact on gun related crime and instead to stem gun related crime other factors are in fact far more influential.
We have had many depressed economic times in the past, recession in early 80s comes to mind, and didnt have a marked increase in gun related crimes even though semi automatic rifles were available at K-Mart (oh for the good old days where you could buy ammunition at your local department store *sigh*).
Lets not let facts get in the way of feeling good about ourselves.
There is a slight problem - gun related crime has INCREASED in Australia since the "tough new gun laws" were introduced. Registered firearms have very rarely been used in crime in Australia - as far as I recall only ONE registered handgun has ever been used in a murder in Australia. Generally crime is committed using unregistered (illegal) firearms, fancy that.
"If it's open source and clumsy, it will can always evolve into something better"
So you would be happy if your bank lost money from your account due to clumsy free software, just so they could use free software out of principle?
Right tool for the right job. In some circumstances the development team dont have time to wait for the software to mature, nor do they have the resources to help develop said software. They have to work with something that is mature and stable NOW. If that happens to be commercial, so be it.
This is /. where making money is considered evil and the Slashbot groupthink would have you believe using Linux helps feed poor people in India.
"I want to be able to run Aqua on top of Linux"
Aqua...on...Linux? Ewwww *shudder*
"Plus, on such a PC, even if you install Windows, you're a bit better off, because there was some competition with the hardware "
I have just switched from GNU/Linux and Windows to OS X. Please explain to me how I was better off before? I honestly dont care if the hardware is open or not. As a desktop OS, OS X leaves both Linux and Windows for dead.
"Apple makes good stuff, and they would be HUGE if they sold it properly -- in a way which allows you to buy the apple whole or in slices"
No. People buy Apple products for the entire package. That everything works beautifully together. If you start splitting it up, then things start not working as expected. Until you experience using OS X you really dont know what youre missing.
"What part of 'BETA' fails to catch you attention?"
I am assuming that as it is beta you have been advising people not to use it? Make up your mind - if it is production ready (and the mozilla.org website says nothing to indicate otherwise) then it is quite valid to criticise bugs in it, if it is in beta testing, then it should NOT be recommended for everyday use by the average user.
"Yes, and it'll be shooting a walkie-talkie."
And Greebo will shoot first
"Dogs are killing machines- NEVER forget that"
No, a gun is a killing machine. Dogs were bred for many purposes, only fighting dogs (eg Pitt Bull Terriers) were bred for their killing prowess. A dog is no more a killing machine than a human is. Both will use whatever tools they have at their disposal if they deem they require it (a human will use a gun, a knife, a dog uses its teeth). So you have had several fatal dog attacks in Boston - out of a dog population of what? How many homocides have you had in the same time period? I will go out on a limb here and suggest you are more likely to be killed (per population) by a human than by a dog.
"If -you- have any small children, you're pretty much guaranteeing an dog attack if the dog isn't very patient or you've encouraged any aggressive behavior"
You are not guaranteeing anything. It all comes down to how much you socialised the dog when it was a puppy.
"such as not recognizing family members anymore"
Pardon? I have NEVER come across a dog that has forgotten a family member, even after months or even years of the family member living elsewhere. No matter how old or what temperament.
"go through obedience school with the dog"
Couldnt agree more. Besides the dog getting trained, you learn a lot about your dog that you wouldnt otherwise.
"Most dogs end up there because they have issues that most normal families can't deal with"
No, most dogs end up there because their previous owners were total idiots who deserve a kick in the head.
You are mixing a good working dog with a family pet. If you want a good working dog, then yes you go to a breeder (as I have done with my last pup). If you want a family pet then you can generally find some very good ones from the local pound who will devote their life to you as they know what you have done for them. In the past we have had a few, and you could not ask for a more devoted companion (should also be noted that they lived to a ripe old age).
"Fewer dogs are bred, and fewer dogs are killed"
This may come as a shock to you, but the pound does not breed dogs, just as the pound does not purchase puppies off puppy mills. Perhaps you care to explain how rescuing a dog encourages these puppy mills?