Android OS.

Android mobile operating system is a last generation Linux ADB. Today is designed to be used in notebooks and PCs. It was desrrollado by Android Inc., a company Google. Currently, the Android phone operating system are bestsellers. Around there is a great cominudad Android developers, writing applications to expand the capabilities of cell phones, today there are more than 200,000 applications available paa Android, Android Market hosted an online application store run by Google.

The programs are written in Java programming language,

Android was officially launched in November 2007 with the creation of the Open Handset Alliance, a consortium of 78 hardware companies, software and telecommunications dedicated to developing open standards for devices released móviles.Google most Android code under license Apache, a free license and open source. Android currently has 32.9% market share worldwide for smart phones, ahead of Symbian OS is 30.6%. In third place is Apple’s market share of 16%.

Android and its ecosystem, revolutionized the business model of mobile telephony and is gradually spreading to crowded and other markets where it is useful android operating system. I’m using Android and I feel great, a revolution of mobile operating systems and business model, earning much market share from the major manufacturers so far have failed to compete at the android product.

GNU R

It is a programming language and environment for statistical and graphics. GNU R runs on various Unix platforms, Windows, MacOS. The statistical package is an excellent substitute for proprietary software as SPSS, SAS and Statgraphics.

R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.

One of R’s strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formulae where needed. Great care has been taken over the defaults for the minor design choices in graphics, but the user retains full control.

We use R in the master GNU free software for data mining, we take the Linux kernel and generate various statistics with information stored in MySQL database.

The files needed to install R, either from source or precompiled binaries are distributed from the website Comprehensive R Archive Network (CRAN) along with installation instructions. For the different distributions of Linux binaries are generally available to the most current versions of these and R; visit CRAN if necessary.

Currently there are over 100 packages developed in R, covering many knowledge areas.

Sources:

http://crisol.uc3m.es/index.php/gnur
https://r-forge.r-project.org/

Git

Git is a version control software developed by Linus Torvalds, thinking about the efficiency and reliability of maintaining versions of applications when they have a large source files. At first, Git was designed as a low-level engine on which others could write the user interface or front end as Cogito or StGIT. 2 However, Git has since become a version control system with full functionality. 3 There are some very important projects already using Git, in particular, the group of Linux kernel programming.

Git begins to use increasingly used for important benefits such as:

Quickly. Everyone, even the most ardent users of other systems is recognized. This is because, compared to SVN and Perforce, to which all operations are done locally. However, when compared to other SCVs distributed, Git is also fast.
This may be due in large part it was built to work in the Linux kernel, which means that from day one has had to effectively move large repositories. Another reason is that Git is written in C, and another reason is that, in my experience, Git core developers are very concerned about the speed.

Easy to learn. In the early days was not so much Git version control system like a bunch of homework tools allow file system in a distributed manner. But on today’s command set and the learning curve of Git are quite similar to that of any SCV, and even better in some cases.
As it is difficult to objectively prove this without some kind of study simply show the differences between the Help menu default Mercurial and Git. He highlighted the commands that are identical (or almost) between the two systems. (In Hg, if you type ‘hg help’ you get a list of nearly 40 commands)

Distributed. One of the most interesting of any distributed system version control, including Git is that it is distributed. This means that instead of doing a “checkout” the tip of the code, do a “clone” the repository in its entirety.
Which means that even if you work in a centralized manner, each user has what is essentially a complete copy of the master server, and any of them could be retrieved to replace in the event of a crash or corruption. Basically, there is no single point of failure with git … unless there is a single point.

In addition this also slows things too much. On average an SVN checkout is faster than any of the SCV distributed, but just barely. Moreover, of the git distributed systems was the fastest in my tests.

Sources:

http://es.wikipedia.org/wiki/Git
http://git-scm.com/

welcome to the LaTex world

LaTeX is a typesetting system specially oriented to the creation of books, scientific and technical documents containing mathematical equations.

LaTeX is composed of a large set of TeX macros written by Leslie Lamport in 1984 with the intention of facilitating the use of language typesetting, TEX, created by Donald Knuth. It is widely used for composing scholarly articles, theses and technical books, since the typographic quality of documents produced with LaTeX is comparable to that of a frontline scientific publishing.

The software is licensed under the LPPL license.

LaTeX assumes a working philosophy different from standard word processors (known as WYSIWYG, ie “what you see is what you get”) and is based on commands. Traditionally, this aspect has been considered a drawback (probably the only). However, LaTeX, unlike word processors WYSIWYG allows the writer of a document focused solely on content without worrying about formatting details. In addition to its graphical capabilities to represent equations, complex formulas, scientific notation, and even music can easily structure the document (chapters, sections, notes, bibliography, analytical index, etc.), Which provides comfort and makes it useful for items academic and technical books.

With LaTeX, the preparation of the document usually requires two stages: the first must be created using any plain text editor source file, with the orders and commands appropriate, contains the text you want printed. The second is to process this file, the word processor interprets the commands written on it and compile the document, leaving it ready for you to be sent to the corresponding output, either the screen or printer. Now if you want to add or change something in the document should make changes in the source file and process it again. This idea may seem impractical, a priori, is known to those familiar with the compilation process is done with the languages ​​of high-level programming (C, C + +, etc..), Since it is completely analogous.

I’ve been using the tool during the last 6 months and think it’s very good for documents, much better than any conventional text editor and edit equations that is excellent, for this reason it is used for scientific texts.

It has a small disadvantage is that unlike conventional publishers is more difficult to use so the learning curve is longer. You need to learn instructions for preparing the documents. Another drawback I find is that only you can view the document after rebuilding.

We are invited to use Latex and judge for ourselves, I liked and I will continue using it.

Sources: http://es.wikipedia.org/wiki/LaTeX
http://www.aq.upm.es/Departamentos/Fisica/agmartin/webpublico/latex/FAQ-CervanTeX/FAQ-CervanTeX-2.html
http://es.wikibooks.org/wiki/Manual_de_LaTeX/%C2%BFQu%C3%A9_es_LaTeX_exactamente%3F

Aspects to take into account the migration of proprietary software to free software

It’s important to take stock of fixed assets which relate all the processes that support the technology to process our information, the hardware that hosts all applications and all the software involved. All the items listed in our inventory must be compatible compatible or should be mirrored in the free software world.

Not recommended to migrate all in one free software but go step migrating for the change is not so traumatic.

Managing change is an important issue and can not be put aside because of this management that depends on the way in which users adapt to the new system. Technical users and end users will be affected. It is important to notify the plan that consists of work, as the migration, if unfamiliar with the concept of free software to make them accessible and has great advantages compared to proprietary software.

Encourage all staff, providing incentives for the use of free software, and certifications for technical personnel.

The migration software proprietary process to free software in the city of Zaragoza has 3 parts.

Explore all that the city used applications on Windows XP to see the impact.

Migrating office suite and migrate to Open Office.

Eventually migrate to Linux operating system.

Current figures of the municipality of Zaragoza in the process of migrating to softwae free.

3000 computers

100% firefox, thunderbird
100% open Oficce
19% Linux

Advantages

– Savings of licenses. Approx. EUR 300 per computer per year. Savings medium / long term
– Greater independence from the software manufacturer.
– Flexibility
– Open Formats
– The money spent stays in Spain

Disadvantages

– Lack of free software → FUD
– Procedure for the adaptation effort
– Resistance to change

Community Manager – Features and Functions

The Community Manager is the one who articulates the brand in the social ecosystem in complex ways (contextualizing its origin in the webmaster and forum moderator). Through in-depth knowledge of needs and strategic approaches of the organization and the interests of customers, leads the strategy, builds, manages and moderates communities according to the brand and helps to promote change within the organization. His figure has acquired great importance to emerge as a spokesperson, articulating the brand and reputation in the digital domain, with all its implications.

Make responsible for managing online communities for students in practice simply because they are cheap, geeks or are enthusiastic about social networks, or without these new professionals delegating responsibility for the same team working to minimize costs is one of the greatest blunders that can incur. Another misconception is that the social strategy is simply based on having a person to write on blogs, upload photos, upload videos, update statements or moderate comments. Materialize and build digital identity through bonding with audiences beyond the “social performance” as a marketing element. Create community, build relationships and help achieve business goals effectively requires a comprehensive business insight, innovative and highly committed.

The Community Manager must emerge as a strategist specializing in online communications, with expertise in marketing, advertising and public relations, an early adopter in essence and experience to establish relationships of trust with the audience.

FEATURES
* Must have a thorough knowledge of business and industry
* Common Sense
* Empathy
* contextual intelligence (is the person’s ability to use their skills and common sense and to adapt to the environment, come-do to reform the environment to accommodate him, his chances and minimize your flaws.)
* Emotional
* Be able to evaluate and interpret trends.

MAIN TASK

* Monitor the mark and interpret data
* Anticipated scenarios of crisis or opportunity
* Establish strategic partnerships (communities)
* Identify and “recruited ” opinion leaders
* Collect feedback for use as internal improvement proposals.

The comunity manager is a person with great communication skills to present to the other projects and to sell the positive things in your community to attract more people. I think it’s similar to a ship captain, who with his experience and abilities to the community and organize your team to achieve goals.

You Are What You Write

The only thing anyone knows about you on the Internet comes from what you write, or what others write about you. You may be brilliant, perceptive, and charismatic in person—but if your emails are rambling and unstructured, people will assume that’s the real you. Or perhaps you really are rambling and unstructured in person, but no one need ever know it, if your posts are lucid and informative.
Devoting some care to your writing will pay off hugely. Long-time free software hacker Jim Blandy tells the following story:
Back in 1993, I was working for the Free Software Foundation, and we were beta-testing version 19 of GNU Emacs. We’d make a beta release every week or so, and people would try it out and send us bug reports. There was this one guy whom none of us had met in person but who did great work: his bug reports were always clear and led us straight to the problem, and when he provided a fix himself, it was almost always right. He was top-notch.
Now, before the FSF can use code written by someone else, we have them do some legal paperwork to assign their copyright interest to that code to the FSF. Just taking code from complete strangers and dropping it in is a recipe for legal disaster.
So I emailed the guy the forms, saying, “Here’s some paperwork we need, here’s what it means, you sign this one, have your employer sign that one, and then we can start putting in your fixes. Thanks very much.”
He sent me back a message saying, “I don’t have an employer.”
So I said, “Okay, that’s fine, just have your university sign it and send it back.”
After a bit, he wrote me back again, and said, “Well, actually… I’m thirteen years old and I live with my parents.”
Because that kid didn’t write like a thirteen-year-old, no one knew that’s what he was. Following are some ways to make your writing give a good impression too.
I think in some cases internet protects the identity of individuals, or in many cases it is difficult to know whether people are telling the truth or not. It is important to be honest about our knowledge and experience we have acquired over the years.

Source: http://producingoss.com/en/communications.html

Comunications by electronic ways

Communication projects and free software communities is of great importance because of the number of people involved from different nationalities, cultures and languages.
It is important to maintain good communication when writing e-mails, therefore it is important to consider the following recommendations.

• Unless you have your own Internet access through an Internet provider, be sure to check with your employer about ownership of electronic mail. Laws about the ownership of electronic mail vary from place to place.
• Unless you are using an encryption device (hardware or software), you should assume that mail on the Internet is not secure. Never put in a mail message anything you would not put on a postcard.
• Respect the copyright on material that you reproduce. Almost every country has copyright laws.
• If you are forwarding or re-posting a message you’ve received, do not change the wording. If the message was a personal message to you and you are re-posting to a group, you should ask permission first. You may shorten the message and quote only relevant parts, but be sure you give proper attribution.
• Never send chain letters via electronic mail. Chain letters are forbidden on the Internet. Your network privileges will be revoked. Notify your local system administrator.
• In general, most people who use the Internet don’t have time to answer general questions about the Internet and its workings. Don’t send unsolicited mail asking for information to people whose names you might have seen in RFCs or on mailing lists.
• Use smileys to indicate tone of voice, but use them sparingly. :-) is an example of a smiley (Look sideways). Don’t assume that the inclusion of a smiley will make the recipient happy with what you say or wipe out an otherwise insulting comment.
• Remember that people with whom you communicate are located across the globe. If you send a message to which you want an immediate response, the person receiving it might be at home asleep when it arrives. Give them a chance to wake up, come to work, and login before assuming the mail didn’t arrive or that they don’t care.
• Use mixed case. UPPER CASE LOOKS AS IF YOU’RE SHOUTING.
• Limit line length to fewer than 65 characters and end a line with a carriage return.
• Mail should have a subject heading which reflects the content of the message.
• In general, most people who use the Internet don’t have time to answer general questions about the Internet and its workings. Don’t send unsolicited mail asking for information to people whose names you might have seen in RFCs or on mailing lists.
• Talk shows your typing ability. If you type slowly and make mistakes when typing it is often not worth the time of trying to correct, as the other person can usually see what you meant.

Sources: http://www.faqs.org/rfcs/rfc1855.html

Git Commands

Intro

For given commands you can type either eg git commmit or git-commit; the man page is available via man git-commit or ‘git commit –help’.

For more common everyday commands see the list in git help.

This guide assumes that the repository you work with was cloned by git 1.5, if it was cloned with an older version, some of the commands, especially related to branch handling don’t work as described here. Either re-clone or use the commands from Git_Guide_Pre-1.5.

Setup

How do I get my copy of the repository?

Once you have your access setup:

$ git clone ssh://[<user@>]scm.sourcemage.org/smgl/grimoire.git
$ ls
grimoire
$ cd grimoire

Note: If you don’t want to authenticate for every action, you can also use git:// instead of ssh:// for read/update operations. You will need ssh:// for any write operations. Do not use http://, even if it seems to work. It is not a supported mechanism for developers getting timely updates.

Any other initial setup I need?

Tell git who you are:

$ git config user.name "FirstName LastName"
$ git config user.email "user@example.com"

If you have many git repositories under your current user, you can set this for all of them

$ git config --global user.name "FirstName LastName"
$ git config --global user.email "user@example.com"

If you want pretty colors, you can setup the following for branch, status, and diff commands:

$ git config --global color.branch "auto"
$ git config --global color.status "auto"
$ git config --global color.diff "auto"

Or, to turn all color options on (with git 1.5.5+), use:

$ git config --global color.ui "auto"

To enable aut-detection for number of threads to use (good for multi-CPU or multi-core computers) for packing repositories, use:

$ git config --global pack.threads "0"

To disable the rename detection limit (which is set “pretty low” according to Linus, “just to not cause problems for people who have less memory in their machines than kernel developers tend to have”), use:

$ git config --global   diff.renamelimit "0"

Basics

For just dealing with the primary branch of the grimoire (test for the grimoire, aka “master” in git):

How do I keep my copy current?

Assuming you are on the master branch:

$ git pull

How do I update a spell, assuming I have no other changes I don’t want to commit?

$ git pull
$ $EDITOR path/to/spell/files
$ git add path/to/new/files
  Note: deletions will be noted automatically.
$ git commit -a

  Note: fill the commit message with the spell name and the version number it is updated to.
$ git push origin master

Note: This commits *all* local changes, if you want to keep some not committed, see the Intermediate Usage section.

Oh no, a conflict! How do I resolve it?

$ $EDITOR path/to/conflicting/file
$ git update-index path/to/conflicting/file
$ git commit -F .msg
$ rm .msg

I screwed up, how do I reset my checkout?

$ git checkout -f

I want to fix my last commit.

$ $EDITOR path/to/spell/files
$ git commit --amend <some/path>

This will include the new changes you made and recommit with the previous commit message.

What other info commands are there?

$ git status
$ git log [<some/path>]
$ git show [<some commit id>]
$ git diff

Note:

  • git-config color.diff auto tells git you prefer colored output.

Intermediate Usage

I only want to commit certain files.

$ git commit path/to/some/files

Note:

  • git commit with no args may complain about needing to update the index to include some files in the commit; specifying explicit paths will avoid this.

  • Best practice is to always do a commit per atomic change so that a separate commit id is available for future cherry-picks, reverts, etc. In other words, if you have 5 spells to update, do a commit per spell directory and not one commit that includes all 5 updates.

I want to discard my uncommitted changes

$ git reset --hard

That will discard all the uncommitted changes you made locally. If you want to reset only a part of the repository, you’ll have to use a trick:

$ git diff some/path | patch -p1 -R

A simpler method for discarding changes to part of the repository is:

$ git checkout some/path

How do I see all the available branches?

$ git branch
* master

The * denotes the current working branch. “master” is the branch each repository starts with, it is a local branch of the remote “master”.

git branch -r shows remote branches, and git branch -a shows all:

$ git branch -r
  origin/HEAD

  origin/devel
  origin/devel-iceweasel
  origin/devel-shadow
  origin/master
  origin/stable-0.3
  origin/stable-0.4
  origin/stable-0.6
  origin/stable-0.7
  origin/stable-rc-0.4

  origin/stable-rc-0.5
  origin/stable-rc-0.6
  origin/stable-rc-0.7
  origin/stable-rc-0.8

I want to work on an upstream branch other than “master”.

$ git checkout --track -b <local name> origin/<remote name>

Note: this creates a local branch <local name> based on the upstream branch and switches your working copy to that branch.
$ git pull
$ git push origin <local name>

Sometimes you may need to use the following instead of that last commit:

$ git push origin <local name>:<remote name without origin/>

I want to get back to the main branch.

$ git checkout master

I want to create a local WIP branch.

$ git branch devel-something <base branch>
$ git checkout devel-something
edit/add/commit/etc.

Or just:

$ git checkout -b devel-something <base branch>
edit/add/commit/etc.

If <base branch> is currently checked out, you don’t have to specify it explicitly. You can use the “–track” argument to branch/checkout to make “git pull” work in this WIP branch without parameters.

I want to push my WIP branch changes back to the mainline.

$ git checkout master
$ git pull . devel-something

I want to delete a local WIP branch.

$ git branch -d devel-something

git will refuse to delete the branch if it contains changes that haven’t been merged to master yet. To delete the branch anyway, use

$ git branch -D devel-something

I want to cherry-pick a change from one local branch to another local branch.

$ git log <first local branch> path/to/changed/file

$ git checkout <second local branch>
$ git cherry-pick -x <sha1 refspec (commit id) from the previous 'git log' output>

I want to cherry-pick something to a remote branch.

$ git checkout --track -b <tmp local branch> origin/<remote branch>
$ git cherry-pick -x <sha1 refspec of commit from other (local or remote) branch>

$ git push origin <tmp local branch>
$ git branch -D <tmp local branch>

I want to revert a commit.

$ git log path/to/file
$ git revert <sha1 refspec of the bad commit>

Note: revert and cherry-pick automatically do a commit with a message that preserves the original commit id. man git-cherry-pick for options to change this behaviour.

Advanced Usage

I want to publish my WIP branch on the central server.

$ git push origin devel-something:refs/heads/devel-something

Note:

  • Other people updating their clones will automatically get this branch in their remote branches list.
  • Branch names have to be unique, so “devel-something” must not yet exist as branch in the remote repository.
  • You can remove the branch names from your remote branch listing by using “git branch -d -r origin/<remote branch name>”.

  • If you do want to delete the remote branch you can use: “git push origin :branch_to_delete”.

I want to work in various remote branches often.

Just create a local branch for each remote branch you want to work on:

$ git branch --track devel origin/devel

$ git branch --track stable-rc-0.10 origin/stable-rc-0.10

I only want to push my commits up to a certain point.

$ git push origin <sha1 spec>:<remote branch dst>

I’m tired of typing my SSH key passphrase.

You may want to use ssh-agent to avoid having to type in your SSH password while working on the repositories (assuming you cloned with developer access). First we load the ssh-agent :

$ eval `ssh-agent`

Agent pid 10044

The above PID will be different for you. Now we load our key (assuming you only have one key or want to load them all):

$ ssh-add

If you have a specific key for the grimoire and want to only load that, use:

$ ssh-add ~/.ssh/grimoire_id_rsa

Assuming you named your grimoire SSH key ~/.ssh/grimoire_id_rsa.

You can also consider using a passphrase-less key, as long as the physical security of the private key file is reasonable (your development machine isn’t share with other users, you have firewall protection in place, etc.).

Why do my commit emails have extra “Merge branch ‘master'” messages?

When you do a git pull, it fetches any changes to the upstream branches, merges them into your checkout, and does an auto-commit back to your local repo. This auto-commit produces this message, and it gets sent along when you push. Note that this commit only happens if you have commits in your local repository that haven’t been pushed yet.

If you want to avoid this, you can “rebase” your branch instead of using “pull”. Rebasing works by rewinding your working copy to the state of the remote branch, then replays all your changes on top of that.

$ git fetch

$ git rebase remotes/origin/<remote branch>

Obviously this can lead to conflicts similar to “git pull”, but unlike pull, rebase will stop on each conflict. After resolving this conflict (editing files and running “git update-index” on them), “git rebase –continue” will continue the rebase. If you want to skip the conflicting commit, use “git rebase –skip”. The whole rebase can be stopped and your branch restored to how it was by using “git rebase –abort”.

You can also use “git pull –rebase” and you will avoid this message. This will do rebase automaticly. And there will be no more “Merge branch ‘master'” in the log.

I have totally screwed up my repository with a broken merge

Most actions done on your git repository can be undone.

$ git reflog
78c80b7... HEAD@{0}: pull : Fast forward
c516234... HEAD@{1}: checkout: moving to master
c516234... HEAD@{2}: pull : Fast forward
01fdb2a... HEAD@{3}: rebase: mplayer: adapt configure options to latest svn
da8ed38... HEAD@{4}: rebase
...

This shows all actions that have been done in your repository. If you want to undo that latest pull, you can use “git reset”:

$ git reset --hard HEAD@{1}

I want to have a separate repository that’s only got a branch of an upstream repository

This is where you’d want to have a “fork” from a specific branch, not from master. It has the advantage of being able to pull back into the branch from the parent repo whilst developing on your repo without any other branches. It establishes an integrator pattern, since you can share access to your myRepo and then only pull in things into the parent repo, when you approve. (there are other ways to accomplish this task also, this is how I solved it.)

This assumes you’ve got your local repo to push to set up already.

git clone git://someRepo.git
git checkout soemRef ;Say for example a tag, branch from a stable version or something
git checkout -b myBranch
git remote add mine ssh://git@test.example.com/myRepo.git
git push mine myBranch:refs/heads/master
cd /some/where/else
git clone ssh://git@test.example.com/myRepo.git

And now the myRepo.git clone will be at the same point as myBranch was in someRepo.

Mozilla Project

History

Firefox is known since 2003. Before the year 1998 was the Netscape web browser that had a large market share by the time during the period from 1997 to 2003. Code was closed and an excellent project and that work on Windows, Mac and Linux.

Internet explorer subsequently began to reign because there was no alternative because is included in the Windows operating system and many people did not know there were more browsers, Microsoft saw an interesting business in the internet as included in Internet Explorer browser windows. Netsacape was a very small company that only had the purpose of creating the browser, so the economic power of Microsoft just with Netscape.

At present Firefox is the browser most commonly used in Europe. On March 31, 1998, is decided to release the source code of Netscape who seeks to alter its code. Mozilla is the internal name for Netscape, Mozilla.org was created to hold all the source code of Netscape. First time strange people that had been released the source code, saw no reason to why these freedoms were granted not knowing that it could generate a new business model for the community and the technological evolution of internet.

In the late 90’s the boom occurred. Com and nobody would have bet anything for the Netscape code and he had to rewrite many things to question the licenses it uses that could not be used, so many things had to rewrite for the browser to function as before and were free. It was proposed that would make the project based on goals that were running small and little results. Netscape decided to use the code that was rewritten to remove the first version, the bookseller Netscape 6, December 6, 2000. Very risky because IE had a large market share in all its monopoly.

On June 5, 2002 was released the first stable version of Mozilla, take long until they release stable code. This marked an important milestone.

Organization.

The Mozilla Foundation was founded on July 15, 2003, is a nonprofit foundation. to manage the development and ensuring the publicity of free software resulting from the work of Mozilla, is located in the united states. Since 98 was the source code to Mozilla.org, the foundation was created with people from Netscape.

The principal offices are Mozilla Europe, Japan, New Zealand (on-line video, codec development), Beijing, Toronto, Vancouver (Thunderbird).

Mozilla is headquartered in Mountain View, California with regional offices in Auckland, Beijing, Copenhagen, Paris, Tokyo and Toronto.

Mozillla Corporation was created in August 2005 they had enough income to keep the foundation and that he could not enter more than x dollars of donations. The corporation depended on the foundation but was created to give money to other free software projects and managing money. Mozilla is a global effort to promote innovation on the Internet, so people could choose other options than IE. Since 2001 market share was all for IE, there was no competition. From 2001 to 2007 there was no progress in IE. 6 years software is not ready to handle the advances of internet and imedia develop new things, the software has to evolve and the more products are, there will be more competitive and reduces the power of suppliers. If the source code is free, gives rise to innovation, and allows the participation of very many developers, people willing to test or assist the project in some way for the good of all.

Firefox has many extensions that help programmers, designers and testers of web pages. The main objective of Mozilla was not only to develop a browser but to help the internet was free.

People are the most important online as they are the architects of the internet and who are constantly creating the internet, thanks to innovative communities, and evolve through innovation. Without communities that provide and create new things would not advance the technology faster.

Mozilla Manifest

On February 13, 2007, Mitchell Baker, President of the Foundation released the Mozilla Manifesto which sets out the principles of the foundation and invited to support joining the Mozilla community.

1. Internet is an integral part of modern life, is a key element of education, communication, collaboration, business, entertainment and society as a whole.
2. Internet is a global public resource that must remain open and accessible.
3. Internet should enrich the lives of human beings.
4. Individual security on the Internet is fundamental and it can not be optional.
5. Individuals should be able to decide their own Internet applications.
6. The effectiveness of the Internet as a public resource depends upon interoperability (protocols, data formats and content), innovation and decentralized participation throughout the world.
7. The free software and Open Source promotes the development of the Internet as a public resource.
8. Community projects encourage the participation, responsibility and trust.
9. The involvement of business actors in the development of Internet has many advantages, but it is important to find a balance between commercial interests and public benefit.
10. Exposing the public interest aspects of the Internet is an important goal that deserves time, attention and commitment.

Structure

Mozilla wants to work on the image so that users are themselves owners of their data.

Mozilla has thousands of workers in 70 languages and with input from the communities is provided for the program is in the users’ own language. Example. Firefox in Maya.

Mozilla donates money to various foundations to support Internet development. Supports the standards and best practices.

Mozilla has workers and staff, specialists in user interfaces.

It is made with various modules. Libraries of images, security, home, profiles. There are a landlord who reviews and approves changes. Whenever there is a change in one module should be a review and approval.

Leadership based on the actual structure.

It sends a patch, the owner of the module checks the code, if the change is very important is a super review, a person from another module reviews the code, then uploaded to the server patches are patches with more errors (trunk .) Once uploaded is sent binaries are reviewed and tested the application again. Then send the official branch of firefox (branch).

The organization works on meritocracy. Leaders are elected by others.

It use Bugzilla tool. It addresses bugs, suggestions, comments, improvements.

Everyone can comment and open bugs.

Mozilla development for 200 employees, working so successfully.
Collaboration groups recognized by the foundation, not mozilla.
Community groups. MozillaZine.
Assistance groups. MozillaZine – forums, SUMO.
Documentation Group: MozillaZine, SUMO.
Newsgroups. MozillaLinks

Communication, for forums, newsgroups, email, IRC, chat rooms, wiki. Everyone can contribute.

With the rise of chrome and IE 9, the future for the web is good because there are more options, 5 browsers that are coming to have a standard.

The Mozilla Foundation has a goal of HTML5, the video can be handled as an image, not to use flash which is a proprietary technology. It intend on not having to pay to be able to encode video on the web.

Firefoxmobile for browsers, that will go with firefox4.

Promoting innovation on the web and maintain online privacy, the data and the image of the users who own their data.

Drumbeat (https: / / http://www.drumbeat.org/en-US/projects/)

Mozilla Products

Mozilla

Firefox for desktop

PC web browser.

Firefox for mobile
Web browser for mobile devices.

Thunderbird
Email client to access email accounts.

SeaMonkey
Application that contains a browser, mail client and newsgroup, an HTML editor, web development tools and an IRC chat client.

Lightning and Sunbird
Is a calendar and scheduling tasks to manage, sunbird is an application platform that brings Mozilla to facilitate the use of your calendar.

Camino
Is a Web browser for Mac OS X.

Mozilla pojects Drumbeat

Subtitles Universal
Is a software project and the online community that is building a tool for subtitles subtitled video free

WebMadeMovies

It is an open source video labratorio and production studio that brings together the world’s most innovative filmmakers and web developers to show what you can do open source video.

School Webcraft
Training online.

Mozilla Labs Experiments

Raindrop
Intended to be pleasant to participate in the conversations of people that you care, if the talks are in the mail, Twitter, the blog of a friend or as part of a social networking site.

Skywriter
is a fast, customizable programmer’s editor written for modern web browsers that allows you to code in the Internet cloud.

Mozilla Developer tools

Bugzilla
It’s A tool for debugging designed to help teams of software development management.

Firebug
It is a tool to inspect, debug, analyze the programs that run within your browser.

Mozilla Technologies

Gecko
Layout engine that reads Web content, such as HTML, CSS, XUL and JavaScript, and does so in a user’s screen. In XUL-based applications Gecko is used to represent the interface of the application user.

XULRunner
Provides an environment for developers to build XUL-based applications like Firefox and Thunderbird. Provides mechanisms to install, update and uninstall applications.

Resources:

https://developer.mozilla.org/presentations/xtech2006/javascript /
http://www.mozillaes.org/
http://www.mozilla.org/projects/