The Halloween Documents: Microsoft’s Anti-Linux Strategy 15 Years Later

31 10 2013

It’s almost Halloween—which marks 15 years since Eric S. Raymond published the first leaked “Halloween Documents” documenting Microsoft’s (MSFT) secret strategy to compete with Linux and open source. A lot has changed since then, when terms such as “fear, uncertainty and doubt” (FUD) first exploded into the lexicon. But how much remains the same? Do Microsoft and open source play nicely today?

The Halloween Documents, so-called because the first one leaked in October 1998, don’t actually have much to do with Halloween itself—which I find sad, as an avid fan of the holiday. But for understanding the historical relationship between Microsoft and open source, the memos are vital.

They were the first to reveal the particularly nasty “tricks” Microsoft planned in its effort to contain the open source movement, and to prevent Linux in particular from cutting too deeply into its revenue. One key strategy for the company was implementing proprietary protocols to lock customers into Microsoft software. Another was touting Microsoft software as offering lower total cost of ownership (TCO) than Linux, even though the documents showed that Microsoft itself found Linux to be the cheaper overall solution in many cases.

History, however, has proven Microsoft’s strategy largely wrong. Fifteen years after Raymond published the first of the documents (he subsequently added several more to his site, along with extensive commentary), which Microsoft later acknowleded to be authentic, Windows and Linux continue to coexist. And while Linux and open source never became an existential threat to Microsoft, as the Halloween Documents suggest executives at the company once feared, it’s hard to deny that they have significantly curtailed the company’s share of important markets, like servers operating systems and applications, for many years. Microsoft might be a richer enterprise today if it had achieved the goals it articulated in the Halloween Documents.

Read Full Article @ The Var Guy

Posted from WordPress for Android





Linux brings over €10 million savings for Munich

23 11 2012

image

Over €10 million (approximately £8 million or $12.8 million) has been saved by the city of Munich, thanks to its development and use of the city’s own Linux platform. The calculation of savings follows a question by the city council’s independent Free Voters (Freie Wähler) group, which led to Munich’s municipal LiMux project presenting a comparative budget calculation at the meeting of the city council’s IT committee on Wednesday. The calculation compares the current overall cost of the LiMux migration with that of two technologically equivalent Windows scenarios: Windows with Microsoft Office and Windows with OpenOffice. Reportedly, savings amount to over €10 million.

The study is based on around 11,000 migrated workplaces within Munich’s city administration as well as 15,000 desktops that are equipped with an open source office suite. The comparison with Windows assumes that Windows systems must be on the same technological level; this would, for example, mean that they would have been upgraded to Windows 7 at the end of 2011. Project parameters such as scope, duration, applied methodology or external support were assumed to be the same in all scenarios.

According to the calculation, Windows with Microsoft Office would so far have incurred about €11.6 million (£9.3 million) in operating-system-related costs. Microsoft Office and its upgrades would have cost €4.2 million (£3.3 million), and the Windows system about €2.6 million (£2.1 million). The LiMux project allowed a further €5 million (£4 million) for hardware upgrades in connection with the Windows 7 system upgrade. Application migration costs were estimated to be around €55,000 (£44,000). If the city council had chosen Windows but used OpenOffice, the estimated cost would have been about two thirds, or €7.4 million (£5.9 million).

Full Article

Posted from WordPress for Android





Debian Administrator’s Handbook published — and Freed

14 05 2012

Debian Administrator’s Handbook published — and Freed
[Posted May 10, 2012 by jake]

From: Roland Mas


To: lwn-AT-lwn.net


Subject: Debian Administrator’s Handbook published — and Freed


Date: Thu, 10 May 2012 18:52:19 +0200


Message-ID:


Archive-link: Article, Thread

The Debian Administrator’s Handbook is now available in several formats
and from several sources — all linked from the website at
http://debian-handbook.info/

This translation into English of the fifth edition of the French “Cahier
de l’Admin Debian” (published by Eyrolles) has been crowdfunded, and the
results are just released.  The funding campaign was so successful that
the book is even published under not one but two free licenses (GPL-2+
and CC-BY-SA-3).  It is available as paperback, in several electronic
formats for easy consumption, and even browsable online from the
website.  And of course, it’s also been made available to Debian users
in the “debian-handbook” package.

Written by Raphaël Hertzog and Roland Mas, two long-time Debian
developers, the book covers a large part of the skillset required of an
administrator of Debian systems.  It describes installation, migration,
configuration of basic services as well as the main network services,
monitoring and backups, virtualization, preparing Debian packages,
securing the system, and a quick crash-course for the beginners.

All versions of the book can be obtained from the website; only the
paperback version will require payment, but donations are welcome from
users of the electronic versions.

References:
Title: Debian Administrator’s Handbook
Authors: Raphaël Hertzog, Roland Mas
Editor: Freexian
Language: English
ISBN: 979-10-91414-00-5 (paperback), 979-10-91414-01-2 (ebook)
Website: http://debian-handbook.info/

Roland Mas

http://debian-handbook.info/

Posted from WordPress for Android





Script para automatizar backups no XenServer

16 02 2010

No outro dia tive necessidade de implementar um script para efectuar backup de várias máquinas virtuais a correr no XenServer 5.5 de uma forma automatizada.

Depois de procurar no google encontrei um já feito neste blog ao qual apenas modifiquei algumas coisas, como não reiniciar as máquinas que estão paradas e certificar-me que este não teria problemas com nomes internacionais.

Sei que alterei mais algumas coisas mas para ser sincero não me recordo.

Trabalho mais com o Xen OSS em Debian mas foi uma maneira de molhar os pés no produto da Citrix.

Fica aqui o script para quem quiser usar sem garantias que não irá destuir o vosso ambiente. Quem quiser usar snapshots ler o comentário sobre o hack para não o usar neste caso – poderia estar mais bem feito e adicionar um argumento ao mesmo para o tipo de backup, mas assim faz o que prentendo para o caso que foi pedido

— CUT HERE —

#!/bin/sh

# XenServer vmbackup v0.3

# Author: Jeff O'Brien, CCA,RHCE

# ITPartners, LLC | Westbrook, ME

# 2009-Sept-24

# Modifications: hteles, SE

# FS | Alfragide, Portugal

# 2010-Feb-10

# hteles ********** Modifications To:

# better handling of filenames; Dont Start Halted VM's; And other Stuff Can't Remember now )

LOGFILE="/var/log/vm-backup.log"

BACKUP_LIST="/root/vm-backup/vm-backup-list.txt"

CLIENTE_ID="Sendys"

BACKUP_DIR="/media/backup/$CLIENTE_ID"

BACKUP_DEV="/dev/hda1"

GET_AVAIL_BACKUP_SPACE="`df -h |grep backup|awk {'print $4'}`"

GET_VM_UUIDS="`xe vm-list |grep uuid|awk {'print $5'}`"

NUM_BKUP_2_KEEP="7"

DOM0_UUID="`xe vm-list |grep -B 1 Control |grep uuid |awk {'print $5'}`"

###################### Install Script################################

install(){

if [ ! -e /media/backup ]; then

mkdir -p /media/backup/$CLIENTE_ID

fi

echo "VM-Backup: Please enter install location [/root/vm-backup]:"

read $INSTALLLOC

if [ "$INSTALLLOC" = "" ]; then

INSTALLLOC="/root/vm-backup"

else

INSTALLLOC="$INSTALLLOC"

fi

#Make install location

echo "INFO: Creating installation location in" $INSTALLLOC

mkdir -p $INSTALLLOC

#Copy files...

echo "INFO: Copying vm-backup file(s) to" $INSTALLLOC

mv vmbackup $INSTALLLOC/

chmod +x $INSTALLLOC/vmbackup

touch /var/log/vm-backup.log

#Build log rotate file

LOGROTATEF=/etc/logrotate.d/vm-backup

touch $LOGROTATEF

echo "/var/log/vm-backup.log {" >> $LOGROTATEF

echo " size 20k" >> $LOGROTATEF

echo " notifempty" >> $LOGROTATEF

echo " create 0600 root root" >> $LOGROTATEF

echo "}" >> $LOGROTATEF

}

##################Build backup file function##############################

build_backup_list(){

#initiate array of uuids as a string... should be all elements

arrayUUID=("$GET_VM_UUIDS")

#Initiate a new array with the removed Domain 0

arrayUUIDfixed=( ${arrayUUID[@]//$DOM0_UUID/} )

echo ${arrayUUIDfixed[@]} > $BACKUP_LIST

}

############################# Backup Function ###############################

backup_images(){

if [ ! -e "$BACKUP_LIST" ]; then

echo "ALERT: Backup file doesn't exist, creating one now..." >> $LOGFILE

build_backup_list

fi

#Begin for loop to parse backup file of uuids to backup

for uuid in `cat $BACKUP_LIST` ;do

#Initiate a couple variables needed along the routine

# //HT Acrescentei as horas também para o caso de haver mais que 1 por dia

# //HT O nome vai stripado

# //HT Vamos usar o nome stripado em vez de ir buscar o param ao XEN

tmpVMNAME="`xe vm-param-get param-name=name-label uuid=$uuid`"

VMNAME=`echo $tmpVMNAME | sed 's/ \+/_/g'`

BKFILENAME=`date +%F-%H-%M`_$VMNAME.xva

POWER_STATE=`xe vm-param-get param-name=power-state uuid=$uuid`

############# STARTING LINE ######################

echo "" >> $LOGFILE

echo "=============================================" >> $LOGFILE

echo "Starting Job for $VMNAME at: `date`" >> $LOGFILE

####################################################

#Do we have a backup directory yet?

echo "INFO: Checking to see if backup directory exists" >> $LOGFILE

if [ -e "$BACKUP_DIR/$VMNAME" ]; then

echo "INFO: VM has backup directory already, skipping creation" >> $LOGFILE

else

mkdir $BACKUP_DIR/$VMNAME

fi

#Routine to find out how many backups exist if any

NUM_BKUPS="`ls $BACKUP_DIR/$VMNAME |wc -l`"

#How many backups are in that directory and does it meet retention policy, if so remove the oldest

if [ "$NUM_BKUPS" -lt "$NUM_BKUP_2_KEEP" ]; then

echo "INFO: Number of backups [$NUM_BKUPS] is less than retention policy, no clean up required" >> $LOGFILE

else

echo "INFO: Cleaning up old backups for " $VMNAME >> $LOGFILE

arrayBackupFiles=(`ls $BACKUP_DIR/$VMNAME`)

echo "INFO: "${arrayBackupFiles[0]} "is the oldest backup and will be DELETED" >> $LOGFILE

rm -rf $BACKUP_DIR/$VMNAME/${arrayBackupFiles[0]}

fi

# //HT - nao queremos snapshot ( Causa Problemas com SQL Server

# Para snapshot mudar o "6.6 -> 5.5

GET_VERS="`cat /etc/redhat-release |grep -c 6.6`"

#echo "INFO: Estado da maquina $VMNAME = $POWER_STATE " >> $LOGFILE

if [ "$GET_VERS" != 1 ]; then

#HT Vamos tentar nao parar maquinas halted:

if [ "$POWER_STATE" != "halted" ]; then

echo "INFO: It seems the fucker $VMNAME is running" >> $LOGFILE

echo "INFO: Stopping Machine $VMNAME" >> $LOGFILE

xe vm-shutdown vm=$uuid

echo "INFO: Stop command completed, waiting 30 secs just in case" >> $LOGFILE

echo "INFO: Running wait event for halted system state on $VMNAME" >> $LOGFILE

sleep 30s

xe event-wait class=vm uuid=$uuid power-state=halted

else

echo "INFO: Machine $VMNAME was already Halted - we will leave it that way" >> $LOGFILE

fi

echo "INFO: Beginning export of $VMNAME to $BACKUP_DIR @ `date +%F-%H:%M`" >> $LOGFILE

echo "Please be Patient Now!!!" >> $LOGFILE

xe vm-export filename=$BACKUP_DIR/$VMNAME/$BKFILENAME vm=$uuid

# hteles Debuging

# Para criar ficheiros vazios comentar a linha anterior e descomentar as duas proximas

# touch $BACKUP_DIR/$VMNAME/$BKFILENAME

# echo $VMNAME $BKFILENAME $uuid > $BACKUP_DIR/$VMNAME/$BKFILENAME

#HT Vamos deixar a maquina no estado anterior após o backup

if [ "$POWER_STATE" != "halted" ]; then

echo "INFO: backup complete" >> $LOGFILE

echo "INFO: Starting $VMNAME" >> $LOGFILE

xe vm-start uuid=$uuid

else

echo "INFO: backup complete" >> $LOGFILE

echo "INFO: Not Starting Previously Halted Machine $VMNAME" >> $LOGFILE

fi

fi

# Backup por SnapShotting ( Causa problemas com SQL SERVER )

if [ "$GET_VERS" = 1 ]; then

echo "INFO: SnapShotting Virtual machine " $VMNAME >> $LOGFILE

SNAPSHOT_UUID="`xe vm-snapshot vm=$VMNAME new-name-label="$VMNAME"_snap`"

xe template-param-set is-a-template=false ha-always-run=false

uuid=$SNAPSHOT_UUID

echo "INFO: Exporting Virtual Machine:" $VMNAME >> $LOGFILE

xe vm-export vm="$VMNAME"_snap filename=$BACKUP_DIR/$VMNAME/$BKFILENAME

echo "INFO: Export Complete, removing backup snapshot" >> $LOGFILE

xe vm-uninstall uuid=$SNAPSHOT_UUID force=true

fi

############## FINISH LINE #####################

echo "Finishing Job for " $VMNAME " at: " `date` >> $LOGFILE

echo "++++++=============================================++++++" >> $LOGFILE

echo "" >> $LOGFILE

###################################################

done

}

######################### Test and if good run backups! ############################

backup(){

MOUNT_TEST="`mount |grep $BACKUP_DEV`"

echo "======================================" >> $LOGFILE

echo " xxxx xxxx eeeeeee nnn nnn" >> $LOGFILE

echo " F E A T H E R" >> $LOGFILE

echo " * " >> $LOGFILE

echo " S Y S T E M S" >> $LOGFILE

echo " xxxx xxxx eeeeeee nnn nn" >> $LOGFILE

echo "======================================" >> $LOGFILE

echo "INFO: Backup jobs are starting, please be patient..." >> $LOGFILE

echo "INFO: Checking if backup is mounted..." >> $LOGFILE

if [ "$MOUNT_TEST" != "" ]; then

echo "SUCCESS: Backup device is mounted" >> $LOGFILE

backup_images

else

echo "INFO: Mounting backup device" >> $LOGFILE

mount $BACKUP_DEV $BACKUP_DIR

if [ $? -eq "0" ]; then

echo "INFO: Mount completed successfully! Continuing" >> $LOGFILE

backup_images

else

echo "INFO: FAILURE to mount backup device exiting..." >> $LOGFILE

exit 1

fi

fi

}

############################## Restore FUnction ##################################

restore(){

echo "RESTORE: Please select an image to restore:"

find $BACKUP_DIR -name *.xva

echo ""

echo -n "Image:"

read IMAGE

echo -n $IMAGE "was selected for restore, continue? [Y/N]:"

read YN

case "$YN" in

Y)

echo $IMAGE "Image is being restored, restoring..."

xe vm-import filename="$IMAGE"

;;

y)

echo $IMAGE "Image is being restored, restoring..."

xe vm-import filename="$IMAGE"

;;

N)

echo $IMAGE "is not being restored, exiting."

exit 1

;;

n)

echo $IMAGE "is not being restored, exiting."

exit 1

;;

*)

echo "Uh ah, you didnt say the magic word."

exit 1

esac

}

# main

case "$1" in

backup)

backup

;;

install)

install

;;

restore)

restore

;;

buildlist)

build_backup_list

;;

*)

clear

echo "vmbackup help - v0.3 jobrien http://virtually-engineered.blogspot.com"

echo "Some modifications by hteles@feather-systems.pt"

echo "https://hteles.wordpress.com"

echo ""

echo "Usage: vmbackup {install|buildlist|backup|restore}"

echo ""

echo "vmbackup is a simple script to assist in your backup routines"

echo "provided on an AS-IS basis"

echo "contact jobrien@itpartnersllc.com for issues"

echo ""

echo "install: installs vmbackup to the install location of your choice,"

echo " creates a logrotate entry and necessary files & folders."

echo ""

echo "buildlist: builds a backup list of UUIDs. This is all inclusive."

echo ""

echo "backup: takes image based backups of VMs listed in vm-backup-list.txt."

echo " built in retention policy of 2 images, oldest is removed."

echo " uses snapshots for 5.5 and halting for 5.0. Pick a window."

echo ""

echo "restore: will list all xva backup images in the backup directory."

echo " type in which file you want to restore and it will be done."

echo ""

echo "Please create your own crontab entry in accordance to your windows."

echo ""

echo "Please update your fstab with the correct device and mountpoint ."

echo ""

exit 1

esac

— CUT HERE —





It’s Time for an International Linux Summit

20 07 2009

tux_book_circle

Just like the international gang summits in Los Angeles, Linux needs a collective, “sit-down” to discuss the future of this now formidable operating system. I’m not talking about a nice little get together with keynote speakers with high-powered, 10,000 foot views of where Linux is and where it’s going. And I’m not talking about vendor booths touting the latest and greatest Linux toys or big blowout parties from a spectacle-making platinum sponsor.
What we need is a nuts and bolts, sound-proofed room, gathering of the minds and Linux thought leaders to discuss Linux, its current state, its legal standing and its future as an operating system.

It’s time to get serious.

It’s time to focus on the future.

We need key players and contributors from Google, Yahoo, Red Hat, Novell, Debian, Ubuntu, The Linux Foundation, Slackware, CentOS, Oracle, IBM, HP, Intel, AMD, VMware and Citrix to come together and hash out a grand plan for this once niche operating system that’s grown up into the enterprise-level beast that has changed the world.

We need for the best minds in the world to come together in one place for a concentrated focus on creating a Linux map for the next 10 or so years. This map should include the role of Linux in cloud-based computing, virtualization, embedded applications, supercomputing, space exploration, education and energy.

Read the full story at Daniweb