The Australian philosopher Peter Singer, mostly known for his book "Animal Liberation" (1975), in which he argued that animals should be treated like people, and for "Practical Ethics" (1979), in which he advocated a strictly rational approach to action, even to the extent of viewing euthanasia and infanticide as necessities, and Princeton University's first professor of bioethics, wrote this book as a response to Edward Wilson's Sociobiology.
The book begins with a review of Darwinian origins of altruism, which boil down to three types of altruism: kin altruism (evolution is competition for survival among genes), reciprocal altruism (Robert Trivers argued that we are more likely to be altruistic towards those who are altruistic and to punish those who don't reciprocate) and group selection (patriotism sounds like a contradiction in terms: we disapprove of selfish behavior but then we demand group selfishness and we call it "patriotism"). Kin altruism is the key one. Selfish behavior cannot possibly be favored by evolution because each individual is doomed anyway: altruistic behavior, on the other hand, keeps at least the genes alive. The family has been recognized since ancient times as an obstacle to peaceful coexistence, but all the attempts to abolitish family (from Plato's "Republic" to Marx's "Communist Manifesto") failed. Obviously genes matter.
That said, Singer takes issue with those who view evolution as a force for good. Darwin himself saw evolution as a blind force, not as an ethical force. The progress of evolution is not the progress of morality. Thomas Huxley even viewed Nature as the enemy, and evolution as a force to be fought against (Dawkins also mentions in passing that humans could be the first species to upset the design of our selfish genes). The "naturalist fallacy" is believing that whatever happens in nature is good, that whatever is created by evolution is good. After all, evolution is the force that some day will declare the human species obsolete. Therefore there is no ethics built in human nature. Human nature is just what was forged by evolution, an accidental product of a chain of transformations leading from the first living cell to the last one.
The immense diversity in ethics among the people of the world proves that ethics is not in our genes. Different people in different environments go through different histories and come up with different kinds of ethics.
The role of science is multifaceted. Science allows us to calculate the consequences of our actions. Science refutes traditional beliefs. Science can explain where ethical norms came from (the origin and development of ethics). A scientific theory can explain a lot but, in itself, it does not provide guidance for behavior. Science has an obvious negative role: disproving superstitions. Singer calls it the distance between the "observer" and the "participant". Facts are not values. Explaining the facts (e.g. how the ethical norms of India emerged) does not authomatically imply that those facts are values. Science's main role is to discredit beliefs. Of course this can lead to discredit everything. There are no moral absolutes. It is possible that no ethical principle exists that can survive scientific scrutiny.
Science cannot tell us what is ethical and what is not. That is left to human reason. Singer points out that humans have a power of reasoning that other animals don't have.
Historically, moral philosophy has divided into two main categories. Philosophers like Kant believed in absolute rules, such as that lying is always bad. Utilitarianists such as John Stuart Mill believed that we should strive for the greatest possible happiness for the greatest number of people. Utilitarianism cannot, per se, decide whether lying or telling the truth is better: it all depends on the consequences. The genetic consequences of medicine, for example, could be a weakening of the human genetic pool because it allows the "unfit" to reproduce. Saving one life today could harm many lives in the future. If medicine is going to cause a catastrophic genetic decline, is it morally good to save sick people?
Singer points out the parallel development of mathematics and ethics, and argues that the human species, the only one on this planet, took these genetically-based social practices (such as kin altruism) into a code of rules of behavior based on collective consensus because of its reasoning skills. Because of the same reasoning skills, the human race also questions the moral rules, especially when a reasoning being realizes that other reasoning beings, in other geographic places, have evolved different customs and therefore different moral rules. Then the moral rules change, or, better, adapt to the new facts. Ethics evolves just like species evolve. The social instinct (the genetic program of altruism) and reasoning combine to define ethics, but reasoning makes it evolve as the reasoning being confronts other reasoning beings with their own morality. The result is a process that tends towards more and more universal morality. The circle of altruism expands from the family to the tribe to the nation to the race to even other species (the animal rights movement).
Singer picks apart the sociobiologist definitions of "altruism" and "selfishness". Sociobiology views the selfish person as someone who wants to maximize the number of descendants. Singer pokes fun at the idea of someone motivated by the number of descendants that he or she will have in 500 years. Sociobiology than says that sometimes collaborating (i.e. choosing altruism over selfishness) will help achieve the goal of maximizing the number of descendants. Edward Westermarck in "Ethical Relativity" (1932) talked about an expanding circle of morality as our physical circle expands. Singer finds that the principle of reciprocity pops up in Judaism, Christianity, Stoicism and Confucianism: "behave towards others the way you want them to behave towards you". This is almost the exact opposite of the reciprocal altruism studied by sociobiology ("behave towards others the way they behaved towards you") Piaget imagined that cognitive life progresses through a series of stages. Lawrence Kohlberg imagined a parallel ladder of moral stages: the selfish stage of punishment and reward, the group-loyalty stage, and rational objective morality. Reasoning evolved because it helps us survive, but then it also acted in a way that plays against our self-interest in making us develop a more and more universal moral code. In a sense, reasoning is just a tool, and, like all tools, it can be used for purposes that are very different from the one for which it was originally invented. Leon Festinger in "A Theory of Cognitive Dissonance" introduced the notion that we instinctively try to remove inconsistencies and therefore keep moving towards a more objective point of view. This does not always happens because we are genetically programmed to desire some other things besides cognitive consistency. This progress towards a universal ethics that treats all beings equally actually brings us happiness, or, at least, deeper fulfillment.
There is a biological form of altruism that is not quite "ethical" but the faculty of reason slowly expands that to become real ethics, universal rules that are consistent across all beings. Reason helps us question the value of biological altruism (not to mention biological selfishness) and achieve an objective viewpoint in which altruism is based on login, not on genes. Singer calls it "the principle of equal consideration of interests". Singer does not deny that we rarely apply it thoroughly. Maybe some day, but the progress towards an ideal universal ethics is slow because we still have biological attachments. For example, you are more likely to save the life of your mother than the life of a stranger, even when the stranger does a lot of good to society and even if your mother is a criminal. This flies in the face of "the principle of equal consideration of interests" and of any rational principle except the one based on genetic proximity. Basically, Singer suggests a compromise between the imperfect instincts of human nature and the rational ideal of a universal ethics.
Finally, ethical rules are necessary because we can't have a lengthy discussion about genes and reason every time we have to make a decision, so no surprise that societies come up with a set of ethical rules. It is just important to understand that those do not represent absolute values but simply the compromise that can be achieved today in a certain society. Our goal is to obey them but, at the same time, to analyze them rationally to see where they can be improved and made them more rational, consistent and fair to everybody.